[英]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.