我有两个型号:
class A(models.Model):
name = models.CharField(max_length=100, unique=True)
class B(models.Model):
a = models.ForeignKey(A)
Run Code Online (Sandbox Code Playgroud)
在Django中,我如何选择具有指向它们的B类对象的类'A'的所有对象?例如,如果数据库包含类'A'的这三个条目:
A, named "one"
A, named "two"
A, named "three"
Run Code Online (Sandbox Code Playgroud)
B类的两个条目:
B, points to "two"
B, points to "three"
Run Code Online (Sandbox Code Playgroud)
我想选择A类"两"和"三".
kar*_*ikr 15
你可以这样做:
a_qs = A.objects.filter(b = b)
Run Code Online (Sandbox Code Playgroud)
其中b是类的对象,B并且b=引用要查询反向关系的小写模型名称.
阅读更多关于跨越此处关系的查找.它介绍了如何对模型的ForeignKey属性进行反向查找
编辑:
如果要查找没有ForeignKey指向它们的任何对象的所有对象,可以使用exclude和__isnull
a_qs = A.objects.exclude(b__isnull = True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3611 次 |
| 最近记录: |