[英]Django CharField blank vs default empty
Django 应用程序中的这两个字段有什么区别? 我应该期待什么行为?
field_a = CharField(max_length=50, verbose_name='field_a', blank=True)
field_b = CharField(max_length=50, verbose_name='field_b', blank=True, default='')
如果未给出default
值,则根据以下代码(取自django/db/models/fields/__init__.py
源代码)为CharField
使用空字符串:
def get_default(self):
"""
Returns the default value for this field.
"""
if self.has_default():
if callable(self.default):
return self.default()
return self.default
if (not self.empty_strings_allowed or (self.null and
not connection.features.interprets_empty_strings_as_nulls)):
return None
return ""
所以他们应该表现得一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.