在django中使用外键

时间:2019-06-04 08:54:21

标签: django django-models django-views

你好,我定义了两个表,例如:

class Test(models.Model):
    title = models.CharField(max_length=1024, null=True, default=None)
    content = models.TextField(max_length=4096, null=True, default=None)
    user = models.ForeignKey(Water, on_delete=models.CASCADE)

具有以下条目:

title content user_id
a     b       1
d     e       2

class Water(models.Model):
    name = models.CharField(max_length=1024, null=True, default=None)
    color = models.TextField(max_length=4096, null=True, default=None)

具有以下条目:

id name color
1   q    s
2   f    g

但是我发现数据库中有一个名为user_id的字段...

例如,您知道我是否要查询吗?

例如,如果我定义了这个:

test = Test.objects.get(user=?).title

我该如何对用户进行过滤,例如用户名是user_id而不是用户?

非常感谢您

1 个答案:

答案 0 :(得分:0)

此声明中

  

我想要的只是一个示例,该示例根据外键过滤了一个基本示例以了解其工作原理

我认为您正在尝试执行以下操作:

test = Test.objects.get(user__color='red')
color = test.user.color

在这里,我使用get来获取单个记录,可以使用filter并迭代查询集以获取输出。

您可以检查Django文档中的ForeignKey