我已经在这里阅读了文档和所有其他答案,但我似乎无法理解它。
我需要计算通过外键连接到查询集中的行的其他表中的外键数。
class PartReference(models.Model):
name = models.CharField(max_length=10)
code = models.IntegerField()
class Part(models.Model):
code = models.ForeignKey(PartReference)
serial_number = models.IntegerField()
我会做类似的事情:
results = PartReference.objects.all()
但是我想要一个包含任何其他字段的部件数量的变量,例如:
results[0].count
最终做类似的事情:
print(results[0].name, results[0].code, results[0].count)
我无法绕过Django documentation - 在示例中entry_set
会发生一些事情,但不解释entry
的位置来自或如何定义。
答案 0 :(得分:4)
_set
查找数据库关系的反向查询,并将其附加到外键字段名称的末尾,以表明您要查询所有与您相关的对象,以便{ {1}},这意味着对于任何给定的结果,您可以按如下方式访问该部分集的计数:
part_set
答案 1 :(得分:0)
我无法绕过Django文档 - 有一些 在示例中继续使用entry_set,但没有解释 条目来自或如何定义。
entry_set
来自Entry
表,奇怪的是我不得不说Django doc没有解释它,它是隐含的,例如如果B链接到A,那么从{A}访问B将是b_set
。
回到你的问题,我想这里有很多次问过这个问题,例如Django count related objects