我看到我的模型表现出一种奇怪的行为。如果我提交并且字段有错误,当我重新显示错误时,会出现排除的字段。还发生了这些字段被翻译成西班牙语并且我在原始英语中获得标签。
我使用django 1.6.10,有人知道这是一个错误还是我做错了什么?
我没有对渲染做任何想象,我只是在模板中做{{ form }}
。
例如,这是一种正常形式
但是,如果我将字段提交为空,我会获得额外排除字段“notes”和原始字段的英文名称“plate number”:
以下是型号代码:
class Operation3Domain(models.Model):
operation = models.ForeignKey(Operation, unique=True)
date = models.DateTimeField(auto_now_add=True)
update_date = models.DateTimeField(auto_now=True)
notes = models.TextField(blank=True, null=True)
#this one is the only one I want to show:
plate_number = NumberPlateField()
class Meta:
app_label = "operation"
和模型形式:
class Operation3DomainForm(forms.ModelForm):
class Meta:
model = Operation3Domain
labels = { 'plate_number': 'Dominio/Patente'}
exclude = ['operation', 'notes']
我感谢任何帮助!谢谢!
答案 0 :(得分:0)
让我回答我自己的问题!
因此,排除字段的问题在于,在创建表单时,我有一个过时的排除参数(抱歉!),这会覆盖表单的排除。
form_class = modelform_factory(step_model, exclude=('operation',))
form = form_class(request.POST, instance=instance)
BUT!我仍然不知道为什么表单会以英文而不是西班牙语出现,如果我直接使用表单类,则不会发生这种情况:
form = Operation3DomainForm(request.POST, instance=instance)
谢谢!