я создаю форму с django, и я получаю эту ошибку:
Объект CharField не имеет атрибута is_hidden.
но charField на самом деле имеет атрибут, как вы можете видеть:
class ArticleForm(forms.ModelForm):
class Meta:
model = Articulo
fields = [
'nombre_producto',
'id_clasificacion_fk',
'Descripcion',
'long_descripcion',
'precio',
'cantidad',
]
labels = {
'nombre_producto': 'Nombre del producto',
'id_clasificacion_fk': 'Clasificación del producto',
'Descripcion': 'Corta descipción',
'long_descripcion': 'Larga descipción',
'precio': 'Precio del producto',
'cantidad': 'Cantidad en inventario',
}
widgets = {
'nombre_producto': forms.TextInput(attrs = {'class':'form-control'}),
'id_clasificacion_fk': forms.Select(attrs = {'class':'form-control'}),
'Descripcion': forms.TextInput(attrs = {'class':'form-control'}),
'long_descripcion': forms.TextInput(attrs = {'class':'form-control'}),
'precio': forms.CharField(widget=forms.NumberInput),
'cantidad': forms.CharField(widget=forms.NumberInput),
}
кто-нибудь может мне помочь? Спасибо!.
В вашем словаре widgets
вы устанавливаете для этих двух полей FormField
подтипы, а не Widget
подтипы:
'precio': forms.CharField(widget=forms.NumberInput),
'cantidad': forms.CharField(widget=forms.NumberInput),
Это неправильно - CharField
это не виджет. Если вы хотите использовать виджет NumberInput
для этих полей, установите его следующим образом:
'precio': forms.NumberInput
Если вы хотите изменить тип поля формы по умолчанию для этих полей модели (мое лучшее предположение о том, что вы пытаетесь сделать с вашими существующими значениями), используйте field_classes
dict или определите поля самостоятельно. Например, что-то вроде этого (другие поля опущены):
field_classes = {'precio': forms.CharField}
widgets = {'precio': forms.NumberInput}
Да, «прецио»: у меня сработали формы.NumberInput. Это я пытался сделать. Спасибо!
ваш вопрос звучит запутанно. Поделитесь ошибкой здесь