Как фильтровать по двум разным полям в запросе Django?

В моем проекте Django есть следующая модель:

class History(models.Model):
    item = models.ForeignKey(Item,on_delete=models.CASCADE)
    timestamp = models.BigIntegerField(default=0)
    price = models.FloatField()

И я хочу фильтровать на основе элемента и метки времени. Идея заключается в том, что я хочу проверить, существует ли экземпляр модели или нет, прежде чем создавать новый экземпляр.

В настоящее время у меня есть следующее:

History.objects.filter(timestamp=timestamp).exists() == False:

Я фильтрую по метке времени, но я хочу сделать что-то вроде фильтрации по элементу и метке времени одновременно.

Например, если у меня есть item="phone", timestamp = 1640736000

item = Item
timestamp = 1640736000
History.objects.filter(timestamp=timestamp and item=item).exists() == False:

Но вышеуказанное, похоже, не работает.

Как мне поступить?

Редактировано:

Ниже приведена модель элемента,

class Item(models.Model):
    name = models.CharField(default="", max_length=50)
    description = models.TextField(default="No Description")
    homepage = models.TextField(default="No Homepage")

    
    def __str__(self):
        return "{}-{}".format(self.Item,self.name)

Для фильтрации по нескольким полям в одном и том же фильтре вы предоставляете поиск в виде отдельных аргументов ключевых слов. Для фильтрации по отношениям, например, ForeignKey, используйте двойное подчеркивание после отношения

item = "phone"
timestamp = 1640736000
History.objects.filter(timestamp=timestamp, item__name=item).exists()
Вернуться на верх