我需要从多对多查询中检索一个值。假设我有 3 个模型:Toy、Part 和 ToyParts
ToyParts 有一个名为“part_no”的字段。我需要能够得到这个的价值。
class Toy(models.Model):
parts = models.ManyToManyField(Part, through="ToyParts")
class Part(models.Model):
pass
class ToyParts(models.Model):
toy = models.ForeignKey(Toy, ...)
part = models.ForeignKey(Part, ...)
part_no = models.CharField(...)
我试过使用:
toy.parts.all().first().part_no
这显然不起作用,因为 Part 没有名为“part_no”的字段
我也尝试过简单地使用:
ToyParts.objects.filter(toy=..., part=...)
但这会增加额外的查询。
part_no
如果不直接查询 ToyParts ,我怎么能得到?