я новичок в python и django. я хочу проверить user.date_join с определенной датой и временем, но я не знаю, что такое правильный синтаксис.
для получения дополнительной информации: у меня есть функция входа в view.py, и я хочу проверить if user.date_join < yyyy/mm/dd я что-то делаю.
вид.py:
from datetime import datetime
from django.contrib.auth.models import User
if request.method == "POST":
if request.user.is_authenticated:
if user.date_joined < (yyyy/mm/dd): # <==== here i have problem
#do smt
else:
#do smt
else:
#blah blah
else:
#blah blah






Попробуй это.
Предполагая, что user.date_joined уже является объектом Datetime Вы можете выполнить сравнение в объектах DateTime. Преобразуйте свой формат (гггг/мм/дд) в объект Datetime и выполните сравнение
import datetime
// Let's say you need to check if user is joined 8 days back or more
if user.date_joined < datetime.datetime.now()- datetime.timedelta(days=7):
// your logic
in your case:
if user.date_joined < datetime.datetime('%Y/%d/%m')
// your logic
Сравнивать даты или объекты дат в Python очень просто. Базовые операторы сравнения (==, !=, <>, >, <, >=, <=) перегружены для объекта datetime, поэтому сравнение дат очень интуитивно понятно и быстро.
попробуй это
if user.date_joined.date() < datetime.datetime('%Y/%d/%m'):
#
Я немного изменил его, и теперь он работает. я импортирую date вместо timedate и использую это условие: if user.date_joined.date() < date(2019,10,10) . это работает сейчас.tnxxxxxxxxxxx
tnx для ответа. когда я использую это условие, я получаю сообщение об ошибке:
TypeError: an integer is required (got type str)затем я меняю его наif user.date_joined.date() < datetime.datetime(2019,10,10)и появляется эта ошибкаTypeError: can't compare datetime.datetime to datetime.date