Python Django:CharField删除默认值------—;选择
在mymodels.py中,我有以下CharFieldPython Django:CharField删除默认值------—;选择,python,html,django,Python,Html,Django,在mymodels.py中,我有以下CharField class Method1(models.Model): inputfile_param = models.FileField() clustering_method_param = models.CharField(max_length=20, default='ward', blank=True, choices=( ('complete', 'Complete lin
class Method1(models.Model):
inputfile_param = models.FileField()
clustering_method_param = models.CharField(max_length=20,
default='ward', blank=True, choices=(
('complete', 'Complete linkage'),
('average','Average linkage'),
('ward','Ward'),))
如何从CharField中删除默认的------选项?
我尝试插入empty\u label=None
,但不起作用
我无法删除blank=True
,因为它会阻止
FileField()
未能捕获上载的文件
我的forms.py如下所示:
class Method1ClusteringForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(Method1ClusteringForm, self).__init__(*args, **kwargs)
必须删除字段定义中的
blank=True
。请参见我已经找到了可能也是您的解决方案
尝试:
您是如何尝试将
空\u label=None
放在blank=True
之前的?@danilryzhkov:尝试将self.fields['clustering\u method\u param']放在super(Method1ClusteringForm,self)之后的空\u label=None
。\uu init\uu(*args,**kwargs)
@danilryzhkov:不起作用。“--”仍然存在。您的代码工作正常!但是,如何在TypedChoiceField中启用默认值?models.py中默认的clustering\u method\u param
被忽略。没关系,我使用initial='ward'
修复了它。在你的帖子上看到我的编辑。
from django.forms import ModelForm
from django import forms as forms
class Method1ClusteringForm(ModelForm):
clustering_method_param = forms.forms.TypedChoiceField(
required=True,
initial = 'ward',
choices = (
('complete', 'Complete linkage'),
('average','Average linkage'),
('ward','Ward'),)
)
class Meta:
model = Method1
fields = ('inputfile_param', 'clustering_method_param',)