我是网络开发的新手,实际上我不知道怎么问它,但在我的main / models.py中我有;
class First(models.Model):
two = models.ForeignKey(Two)
name = models.CharField(max_length=250)
在我的sub / models.py中;
class Two(models.Model):
name = models.CharField(max_length=250)
description = models.CharField(max_length=2000)
我正在使用mysql作为数据库,当我登录我的数据库并按select * from firstTable;
显示表格时,我看到了;
| two_id |name|
| 1 | David |
当我调用ForeignKey(another_model)时,它会自动显示其ID。是否可以显示two_name而不是two_id?
顺便说一句,我希望我解释一下我想做什么。我真的无法解释我的一句话。如果您对标题有更好的解释,请编辑我的问题。
提前谢谢。
答案 0 :(得分:3)
数据库就像这样。您可以使用联接在select语句的输出中显示name
而不是id
。这就是Django会为你做的事情(这就是你想使用Django的原因)。
在Django中,这将返回Two
模型的实例:
first.two
这样,您就可以访问name
实例的Two
:
first.two.name
在多个First
个实例的列表中,您可以输出所有Two
个名称,如下所示:
First.objects.values('two__name')
如果你真的想在SQL中查看它,请写下:
SELECT f.name, t.name FROM firstTable f, twoTable t WHERE f.two_id=t.id;