我有以下模型:
class Machine(models.Model):
name = models.CharField(max_length=255, primary_key=True)
user = models.CharField(max_length=255)
mail = models.CharField(max_length=255)
datetime = models.DateTimeField(blank=True, null=True, default="")
licenses = models.CharField(max_length=10000, blank=True, null=True, default="")
如上所示,我想允许datetime
和licenses
一无所获。
我想在视图中使用以下代码创建此模型的新实例:
Machine.objects.create(name=machine_name, user=user_name, mail=user_mail)
但是我得到了
ValidationError at /update
[u"'' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
同时,如果直接在DB中运行,以下行可以正常工作:
INSERT INTO `xxx`.`xxx` (`name`, `user`, `mail`) VALUES ('a', 'b', 'c');
我不明白为什么django要我输入 datetime-elements ,即使我已经指定null也没关系。
答案 0 :(得分:2)
删除日期时间字段的default=""
。
datetime = models.DateTimeField(blank=True, null=True,)
即使您已指定blank=True
和null=True
,django也会尝试在未指定任何内容时设置默认值。但由于默认格式不是预期格式,因此会导致问题。
答案 1 :(得分:1)