Django模型反向查询

时间:2018-07-04 13:22:18

标签: python django model

我有4个型号, 1)项目:描述项目的名称和值。我可以完全独立注册新项目。 2)订单项基本上由一个项目和该特定项目的数量组成。 3)库存:库存是一堆LineItems。 4)幸存者只是拥有库存的用户。 我无法向后过滤库存。 示例:我想获取“ x”用户库存上的所有迭代。 幸存者是我的用户。 对不起,我的英语不好。

class Itens(models.Model):
    item_name = models.CharField(max_length=50)
    points_value = models.FloatField(default=0)
    def __str__(self):
        return self.item_name

class LineItem(models.Model):
    itemln = models.ForeignKey(Itens,on_delete=models.CASCADE,related_name='itens_contidos')
    quantity = models.IntegerField(default=0)
    inventory_ln = models.ForeignKey("Inventory",on_delete=models.CASCADE)

class Inventory(models.Model):

    survivor_inventory = models.OneToOneField(Survivor,on_delete=models.CASCADE)

    def __str__(self):
        return self.survivor_inventory.name +' s inventory'


class Survivor(models.Model):

    #id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100)
    age = models.PositiveIntegerField(default=0)
    ...

1 个答案:

答案 0 :(得分:0)

Iten.objects.filter(itens_contidos__inventory__survivor_inventory=my_survivor)

请注意,您的广告空间模型有点奇怪-尤其是survivor_inventory字段;它指向一个Survivor对象,因此它可能应该被称为survivor