我有一个Charfield模型:

class SomeModel(models.Model):
    charfield = models.Charfield(max_length=5, default="")
    ...


我希望在管理员中使用时不需要此字段。但是,当我将此模型包含在管理员中时,需要此字段。我可以使用null=True, blank=True,但我很好奇这是某种错误还是执行错误?

最佳答案

我不确定您为什么认为这是一个错误。如果未指定blank=True,则需要某种非空值。根据定义,空字符串是一个空值;因此Django非常正确地显示了一个错误,告诉您提供实际值。

如果要允许空字符串,则需要指定blank=True。但是您无需指定null=True;实际上,正如文档所示,您不应在CharFields上使用它。

关于django - django charfield在管理员中需要默认的空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39315333/

10-09 22:12