Модель Django Обратный запрос - PullRequest
0 голосов
/ 04 июля 2018

у меня 4 модели, 1) Предмет: описывает название и стоимость предмета. Я могу зарегистрировать новинки совершенно самостоятельно. 2) Элемент строки состоит в основном из одного элемента и количества этого конкретного элемента. 3) Inventory: Inventory - это набор LineItems. 4) Survivor - это просто пользователь, которому принадлежит инвентарь. Я не в состоянии отфильтровать назад инвентарь. Пример: я хочу получить все, что есть у пользователя "x". Survivor - мой пользователь. Извините за мой плохой английский.

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 голосов
/ 04 июля 2018
Iten.objects.filter(itens_contidos__inventory__survivor_inventory=my_survivor)

Обратите внимание, ваша модель инвентаря немного странная - особенно поле survivor_inventory; он указывает на объект Survivor, поэтому его, вероятно, следует назвать survivor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...