Django:Charfield的get_default显示空字符串

时间:2019-10-08 02:38:14

标签: django django-models

我的模型字段为CharField / TextField

location = models.CharField(max_length=30, blank=True)

现在我检查Django shell中的默认值

[In}: User._meta.get_field('location').get_default()

[Out]: ''

我没有提到任何默认值,而是如何将其设置为''

1 个答案:

答案 0 :(得分:0)

如果没有显式的default值,它将返回一个空字符串。来自the source

def get_default(self):
    """Return the default value for this field."""
    return self._get_default()

@cached_property
def _get_default(self):
    if self.has_default():
        if callable(self.default):
            return self.default
        return lambda: self.default

    if not self.empty_strings_allowed or self.null and not connection.features.interprets_empty_strings_as_nulls:
        return return_None
    return str  # return empty string