在Django中,可以使用auto_now_add
和editable
属性来实现自动填充字段并将其设置为只读字段。
MyModel
,其中包含一个需要自动填充的字段created_at
:from django.db import models
class MyModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True, editable=False)
# 其他字段...
在上述代码中,auto_now_add=True
表示在对象第一次保存到数据库时自动填充字段值为当前时间。editable=False
表示该字段为只读字段,不可在后台管理界面进行编辑。
created_at
字段的值为当前时间,并将其设置为只读字段。from django.shortcuts import render
from .models import MyModel
def my_view(request):
# 创建对象
obj = MyModel.objects.create()
# obj.created_at 将自动填充为当前时间,并且是只读字段
# 更新对象
obj.save()
# obj.created_at 将保持不变,并且是只读字段
# 其他操作...
return render(request, 'my_template.html')
在上述代码中,创建或更新MyModel
对象时,created_at
字段会自动填充为当前时间,并且无法通过代码进行修改。
总结:
auto_now_add=True
来实现。editable=False
来实现。推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云