6

当使用 允许 Django 模型的数据库字段为 NULLnull=True时,默认值是否保证默认为 NULL?还是我必须手动指定:

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

我在有关模型字段的文档中找不到任何有关它的信息。

4

1 回答 1

4

不完全的:

django/db/models/fields/__init__.py

class NOT_PROVIDED:
    pass

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

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

于 2014-04-01T21:46:59.673 回答