如何在 Django 中使用查询集更改日期时间字段
How to change Datetime field with queryset in Django
这是class
class Post(models.Model):
author = models.ForeignKey(User)
.
.
last_seen = models.DateTimeField(auto_add = True)
我想把last_seen时间改成以后的另一个时间
last_seen = Post.objects.get(author = user).last_seen
if request.user.is_authenticated:
last_seen = timezone.now()
当我 运行 print(last_seen) 时,我发现它没有改变,仍然是一个旧的日期时间值
怎么了?
您没有为 post 更新此内容,您只是将 局部变量 设置为当前时间戳。
您可以更新经过身份验证的用户的 Post
条记录:
from django.utils.timezone import now
if request.user.is_authenticated:
Post.objects.filter(author=user).<b>update(last_seen=now())</b>
您还没有保存对象 post 更新。因此它没有反映出来。你可以这样做
your_post = Post.objects.get(author = user)
if request.user.is_authenticated:
your_post.last_seen = timezone.now()
your_post.update() // can also you object.save()
这是class
class Post(models.Model):
author = models.ForeignKey(User)
.
.
last_seen = models.DateTimeField(auto_add = True)
我想把last_seen时间改成以后的另一个时间
last_seen = Post.objects.get(author = user).last_seen
if request.user.is_authenticated:
last_seen = timezone.now()
当我 运行 print(last_seen) 时,我发现它没有改变,仍然是一个旧的日期时间值 怎么了?
您没有为 post 更新此内容,您只是将 局部变量 设置为当前时间戳。
您可以更新经过身份验证的用户的 Post
条记录:
from django.utils.timezone import now
if request.user.is_authenticated:
Post.objects.filter(author=user).<b>update(last_seen=now())</b>
您还没有保存对象 post 更新。因此它没有反映出来。你可以这样做
your_post = Post.objects.get(author = user)
if request.user.is_authenticated:
your_post.last_seen = timezone.now()
your_post.update() // can also you object.save()