我已阅读此处的文档和所有其他答案,但我似乎无法理解它。
我需要计算另一个表中通过外键连接到查询集中的行的外键数量。
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()
Run Code Online (Sandbox Code Playgroud)
我会做类似的事情:
results = PartReference.objects.all()
Run Code Online (Sandbox Code Playgroud)
但我想要一个像任何其他字段一样包含零件数量的变量,例如:
results[0].count
Run Code Online (Sandbox Code Playgroud)
最终做类似的事情:
print(results[0].name, results[0].code, results[0].count)
Run Code Online (Sandbox Code Playgroud)
我无法理解Django 文档- 示例中发生了一些事情entry_set,但没有解释entry它来自哪里或如何定义。
_setdjango 使用它来查找数据库关系的反向查询,并附加到外键字段名称的末尾,以表明您想要查询所有相关的对象,因此在您的情况下,这part_set意味着对于任何给定的结果,您可以按如下方式访问该部分集的计数:
results = PartReference.objects.all()
for result in results:
print(result.name, result.code, results.part_set.count())
Run Code Online (Sandbox Code Playgroud)