у объекта нет атрибута is_hidden с django - PullRequest
0 голосов
/ 08 апреля 2019

Я строю форму с помощью 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),  
    }

кто-нибудь может мне помочь?Спасибо!

1 Ответ

2 голосов
/ 08 апреля 2019

В вашем widgets словаре вы задаете эти два поля для FormField подтипов, а не Widget подтипов:

    'precio': forms.CharField(widget=forms.NumberInput),
    'cantidad': forms.CharField(widget=forms.NumberInput),

Это не правильно - CharField это не виджет. Если вы хотите использовать виджет NumberInput для этих полей, установите его следующим образом:

'precio': forms.NumberInput

Если вы хотите изменить тип поля формы по умолчанию для этих полей модели (я думаю, что вы пытаетесь сделать с существующими значениями), используйте диктовку field_classes или определите поля самостоятельно. Например, что-то вроде этого (другие поля пропущены):

field_classes = {'precio': forms.CharField}
widgets = {'precio': forms.NumberInput}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...