我有一个模型结构,但很难理解如何使用 Django 过滤器。
models.py
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=254, unique=True)
class Bar(models.Model):
user_id = models.OneToOneField(User, on_delete=models.CASCADE)
name = models.CharField(max_length=10)
class Tables(models.Model):
bar = models.ForeignKey(to=Bar, on_delete=models.CASCADE)
我希望能够从下面的模型中过滤表的用户。
您可以使用以下命令检索mytable
引用引用该User
Bar
的User
:
User.objects.get(bar__tables=mytable)
由于这是一个ForeignKey
和OneToOneField
,我们确定只有一个这样的User
。
注意:通常不会在
ForeignKey
字段中添加后缀_id
,因为 Django 将自动添加带有_id
后缀的"孪生"字段。因此它应该user
,而不是。user_id
注意:通常 Django 模型被赋予一个单数名称,所以
Table
而不是。Tables