Получение набора запросов, отфильтрованных по двум значениям столбца и текущему времени |Модель Джанго - PullRequest
0 голосов
/ 26 октября 2018

model.py:

class Med(Model):
    name = CharField(max_length=2)
    valid_from = DateTimeField()
    validity = IntegerField()

Я хочу получить набор запросов, который имеет (validity + valid_from) больше, чем текущее время.

Сначала я пытался аннотировать одно поле expires=F('valid_from')+timedelta(minute=F('validity'))затем фильтр на основе этого, но я не смог аннотировать поле:

Med.objects.annotate(
    expires=ExpressionWrapper(
        F('valid_from')+timedelta(minute=F('validity')),
           output_field=DateTimeField()))

Я также попытался timedelta(minute=1)*F('validity'), но это также не удалось.

Наконец я попытался извлечь из raw () стак много манипуляций, один из примеров:

Med.objects.raw("select * from myapp_med m where %s>%s",
    ['expiry_date+datetime.timedelta(minute=validity',datetime.now()])

Это дает мой набор запросов, но это неправильно.

Примечание: Пожалуйста, дайте мне знать, если я правильно задал вопрос.

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