我正在尝试做 django api。在models.py中class Receipt(models.Model): id=models.AutoField(primary_key=True) name=models.CharField(max_length=100) created_at = models.DateTimeField(default=datetime.datetime.now(),null=True,blank=True) updated_at = models.DateTimeField(auto_now=True,editable=False)如果我添加 , auto_now =True,我会出错editable=False。这是我的错误信息。django.core.exceptions.FieldError: 'updated_at' cannot be specified for Receipt model form as it is a non-editable field追溯:Traceback (most recent call last): File "/home/uadmin/django/env/lib/python2.7/site-packages/django/utils/autoreload.py", line 228, in wrapper fn(*args, **kwargs) File "/home/uadmin/django/env/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 124, in inner_run self.check(display_num_errors=True) File "/home/uadmin/django/env/lib/python2.7/site-packages/django/core/management/base.py", line 359, in check include_deployment_checks=include_deployment_checks, File "/home/uadmin/django/env/lib/python2.7/site-packages/django/core/management/base.py", line 346, in _run_checks return checks.run_checks(**kwargs) File "/home/uadmin/django/env/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks new_errors = check(app_configs=app_configs)我应该怎么做才能解决这个错误?
2 回答

皈依舞
TA贡献1851条经验 获得超3个赞
您可以在回溯中看到的错误在您的表单中ReceiptForm
。DateTimeField
with auto_now
are editable=False
and blank=True
automatic,因此不能包含在表单中,除非它是只读的。您可以删除auto_now
并使用自定义保存方法来设置updated_at
.

达令说
TA贡献1821条经验 获得超6个赞
你想要达到什么目标?
auto_now
是为每次保存设置字段值。你不能覆盖这个。
auto_now_add
是在创建对象后进行此操作。
default
是在您不提供任何内容时使用默认值。
我的猜测是你只需要default
. 如果不是,请描述您要解决的问题
添加回答
举报
0/150
提交
取消