Временная дельта Django ORM возвращает, что первое поле не определено

#django #orm #timedelta

#django #orm #timedelta

Вопрос:

из django.utils импортируйте часовой пояс из datetime импортируйте timedelta Activity.objects.filter(последний_ответ__lte=timezone.now()-timedelta (дни = sla))

При его выполнении я получаю сообщение о том, что sla не определен. но моя модель содержит оба поля last_response и sla и определяется как целое число.

Что я делаю не так?

Ответ №1:

 from django.utils import timezone from datetime import timedelta 
Activity.objects.filter(last_response__lte=timezone.now()-timedelta(days=MODEL_NAME.sla))
  

Вы просто ссылаетесь на имя поля модели, а не на свойство поля объекта модели. Вы определили переменную sla, поэтому она выдает неопределенную ошибку. Либо получите доступ с вашего obj.sla напрямую, либо sla = obj.sla .