【发布时间】:2017-01-20 09:50:07
【问题描述】:
我有一个项目,客户必须登录数据库并在那里手动输入数据。是的,直接访问,不要问为什么!
我想要的是当我将更改应用到表时,创建和修改的字段将自动完成当前日期和时间。
我正在使用 MySQL。
所以我这样创建了我的模型..
class Atlantis(models.Model):
description = models.TextField('description', max_length=200 , default = None,null=True,blank=True)
amount = models.IntegerField('Amount', default=0)
quantity = models.IntegerField('Quantity', default=0)
inserted = models.BooleanField(default=False)
update_chk = models.BooleanField(default=False)
created = models.DateTimeField(auto_now=True,auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
def save(self, *args, **kwargs):
''' On save, update timestamps '''
if not self.id:
self.created = timezone.now()
self.modified = timezone.now()
return super(Atlantis, self).save(*args, **kwargs)
当我将数据添加到数据库时,创建的字段不会使用当前时间戳自动完成。
我尝试修改数据库中的表并将创建字段的默认设置更改为 CURRENT_TIMESTAMP,但出现错误。
所以我在问,我所要求的可以完成吗?
【问题讨论】:
-
当您说添加数据时,您的意思是直接在没有orm的情况下进行吗?错误是什么?
-
用户必须将数据直接输入到数据库表中。错误是:错误 1067:“已创建”的默认值无效。我试图把 CURRENT_TIMESTAMP
-
如果他们直接对数据库进行操作,那么 django 绝对无能为力。
-
我不想让 django 这样做。我希望 MySQL 能够做到这一点。一旦用户点击“应用”并且 sql 语句运行 INSERT INTO
db_name.db_table(table_column) VALUES ('some value');
标签: python mysql django database