对于模型,null = True意味着默认=无吗?

时间:2014-04-01 21:31:27

标签: django django-models null django-1.7

当使用null=True允许Django模型的数据库字段为NULL时,默认值是否保证为NULL?或者我必须手动配置这个:

report = models.FileField(upload_to='reports', null=True, default=None)
                                                          ^^^^^^^^^^^^

我在关于models fields的文档中找不到任何相关内容。

1 个答案:

答案 0 :(得分:4)

不完全:

<强> django的/分贝/模型/场/ __初始化__。PY

class NOT_PROVIDED:
    pass

class Field(RegisterLookupMixin):
    # some code
    def __init__(..., default=NOT_PROVIDED, ...):

这基本上意味着它是数据库中的任何东西。例如,如果您创建表并在数据库中直接设置默认值(不更改模型),那么它将使用数据库中的值。