Django入门 理解Django生命流程周期_django model queryset生命周期
from django.db import models
# 假设我们有一个User模型,我们想要追踪用户的创建和修改时间
class User(models.Model):
name = models.CharField(max_length=100)
created_at = models.DateTimeField(auto_now_add=True) # 创建时自动设置当前时间
updated_at = models.DateTimeField(auto_now=True) # 更新时自动更新为当前时间
# 使用QuerySet的示例
def get_users():
# 获取所有用户,但不会立即从数据库加载数据
users = User.objects.all()
print(users) # 输出QuerySet,例如: <QuerySet [<User: User object (1)>, <User: User object (2)>]>
# 当我们实际需要数据时,QuerySet才会从数据库中获取数据
for user in users:
print(user.name)
# 使用Model实例的示例
def create_user():
user = User.objects.create(name='新用户')
print(user.created_at, user.updated_at) # 创建时和更新时的时间戳将会被设置
user.name = '已更新'
user.save() # 保存用户实例,更新时间戳将会被更新
print(user.created_at, user.updated_at)
这段代码展示了如何在Django中使用auto_now_add
和auto_now
来自动设置记录的创建和更新时间,并且演示了QuerySet和Model实例的生命周期。
评论已关闭