Дата и время last_updated обновляются каждый раз, когда пользователь входит в систему, но не обновляют никаких его данных в Django

В моей модели для профиля пользователя profile_last_updated = models.DateTimeField(auto_now=True) продолжает обновляться каждый раз, когда соответствующий владелец профиля входит в систему, но не обновляет никаких своих данных. Есть ли способ исправить это? Я нашел это на SO django last updated keeps updating when there is no new information, но это немного запутанно. Буду признателен за любую помощь - спасибо!

views.py

def user_profile_detail_view(request,pk):
try:
    myprofile = get_object_or_404(User, id=pk)
except ObjectDoesNotExist:
    return redirect('handler404')

Видите, проблема с auto_now=True заключается в том, что поле всегда обновляется, когда вызывается метод .save(), и поэтому вы видите неожиданное поведение. Вместо этого вы можете удалить auto_now или установить его в False, а затем всегда вручную обновлять поле с помощью DateTime.

Пример:

from datetime import datetime as dt

def your_view_function(request):
    #your rest of the function for processing user profile
Models.objects.filter(id=id_of_field_updated).update(profile_last_updated=dt.now())
  
Вернуться на верх