Аргумент 1 функции strptime() должен быть str, а не DeferredAttribute
У меня тут проблемы, я делаю сайт для путешествий и виз, пытаюсь убедиться, что мы знаем о каждой встрече за 10 дней до нее. Поэтому я создал свойство модели, которое поможет мне сравнивать даты, но у меня проблемы ошибка за ошибкой вот поле модели
class customer(models.Model):
first_name = models.CharField(max_length=255, default='')
last_name = models.CharField(max_length=255, default='')
biometry_date = models.DateField(blank=True, default='', null=True)
@property
def is_due(self):
datetime_object = datetime.strptime(Profile.biometry_date, '%Y-%m-%d')
t2 = datetime.now().date()
t3 = timedelta(days=30)
return datetime_object - t2<= t3
и в шаблоне Html
{% if profile.is_due %}
<td class="text-right">
<span class="badge badge-danger">{{ profile.biometry_date }}</span>
</td>
{% else %}
<td>{{ customer.biometry_date }}</td>
{% endif %}
Пожалуйста, помогите мне Спасибо
Во-первых, как указал Виллем - вам не нужно использовать strptime
из поля, это уже datetime.datetime
объект. И вы должны использовать self
, когда вы хотите использовать значения поля объекта. Итак:
def is_due(self):
datetime_object = self.biometry_date
Во-вторых, мне кажется, вы пытаетесь использовать profile
и customer
как взаимозаменяемые. Решите, какой из них вы собираетесь использовать или, по крайней мере, разделите контекст.