为了账号安全,请及时绑定邮箱和手机立即绑定

Django:在DateTimeField中添加auto_now时出错

Django:在DateTimeField中添加auto_now时出错

翻翻过去那场雪 2021-07-19 16:41:42
我正在尝试做 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个赞

您可以在回溯中看到的错误在您的表单中ReceiptFormDateTimeFieldwith auto_noware editable=Falseand blank=Trueautomatic,因此不能包含在表单中,除非它是只读的。您可以删除auto_now并使用自定义保存方法来设置updated_at.

查看完整回答
反对 回复 2021-07-28
?
达令说

TA贡献1821条经验 获得超6个赞

你想要达到什么目标?

auto_now是为每次保存设置字段值。你不能覆盖这个。

auto_now_add是在创建对象后进行此操作。

default 是在您不提供任何内容时使用默认值。

我的猜测是你只需要default. 如果不是,请描述您要解决的问题


查看完整回答
反对 回复 2021-07-28
  • 2 回答
  • 0 关注
  • 995 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号