当我在PyCharm中运行服务器时,我在控制台中收到了波纹管错误:
ERRORS:
frontend.Users.ctime: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.
frontend.Users.uptime: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.
我的模型Users
代码如下:
class Users(models.Model):
ctime = models.DateTimeField(auto_now_add=True, default=datetime.now())
uptime = models.DateTimeField(auto_now=True, default=datetime.now())
为什么我会收到此错误?
答案 0 :(得分:1)
只需使用:
class Users(models.Model):
ctime = models.DateTimeField(auto_now_add=True)
uptime = models.DateTimeField(auto_now=True)
它会起作用。
说明:
这两者都是相互排斥的意味着你应该只使用其中一个,而不是两者。
答案 1 :(得分:0)
当表已经存在时,我只使用了 django.utils.timezone.now() 。主要区别与数据库设置有关。使用 auto_now 或 auto_now_add 选项时,模型字段将具有 editable=False,根据文档@ https://docs.djangoproject.com/en/3.2/ref/models/fields/#datetimefield 。