Django建议我可以为CharField设置empty_value
:https://docs.djangoproject.com/en/2.2/ref/forms/fields/#django.forms.CharField.empty_value
我正试图从以下位置更改字段:
my_field = models.CharField(max_length=80, blank=True)
收件人:
my_field = models.CharField(max_length=80, blank=True, null=True, empty_value=None)
尝试创建迁移时出现此错误:
文件“ /Virtualenv/python3.7/site-packages/django/db/models/fields/init.py”,第1039行, init super()。初始化(* args,** kwargs) TypeError: init ()得到了意外的关键字参数'empty_value'
原因是因为我想在包含unique_together
和其他字段的模型上设置my_field
,具有以下行为:
my_field
为NULL,我希望unique_together
子句始终允许其他组合,因为NULL != NULL in SQL。my_field
不为NULL,我希望unique_together
子句检查其他字段的唯一性。我不希望使用非clean
或validate_my_field
方法或类似方法的数据库验证。
答案 0 :(得分:1)
您尝试将forms.CharField
用作没有models.CharField
的{{1}}。对于模型,您需要使用default
field。
此代码在哪个文件中?
如果在empty_value
(您定义模型)中,请使用models.py
代替default
。
如果使用empty_value
(您定义表单),则导入forms.py
,而不是django.forms
,然后可以使用:
django.db.models