Django CharField TypeError:uuu init_uuuuuu()获取了意外的关键字参数';空值';
Django建议我可以为CharField设置Django CharField TypeError:uuu init_uuuuuu()获取了意外的关键字参数';空值';,django,django-models,django-migrations,Django,Django Models,Django Migrations,Django建议我可以为CharField设置空值: 我正在尝试从以下字段更改我的字段: my_field = models.CharField(max_length=80, blank=True) 致: 我在尝试创建迁移时遇到以下错误: 文件“/Virtualenv/python3.7/site packages/django/db/models/fields/init.py”,第1039行,在init super().init(*args,**kwargs) TypeError:init(
空值
:
我正在尝试从以下字段更改我的字段:
my_field = models.CharField(max_length=80, blank=True)
致:
我在尝试创建迁移时遇到以下错误:
文件“/Virtualenv/python3.7/site packages/django/db/models/fields/init.py”,第1039行,在init
super().init(*args,**kwargs)
TypeError:init()获得意外的关键字参数“empty_value”
原因是我想在包含my\u字段
和其他字段的模型上同时设置一个unique\u
,行为如下:
- 如果
为空,我希望my_字段
子句始终允许其他组合,因为unique_-together
- 如果
不为空,我希望my_字段
子句对照其他字段检查唯一性unique_together
我不希望像
clean
或validate\u my\u field
方法或类似方法那样不是数据库验证的验证。您试图使用表单。CharField
作为模型。CharField
没有空值
。对于您需要使用的模型
这个代码在哪个文件中
如果在models.py
(您定义模型),则使用default
而不是empty\u值
如果在forms.py
(您定义表单),则导入django.forms
,而不是django.db.models
,然后您可以使用:
my_field=forms.CharField(最大长度=80,必需=False,空值=None)
该链接用于Django表单字段,而不是模型字段
my_field = models.CharField(max_length=80, blank=True, null=True, empty_value=None)