Django 'DateField' object does not have 'is_hidden' attribute

I need to put an input type date, and I use a widget, but it throws this error

models.py

class Proyecto(models.Model):
    nombre = models.CharField(max_length=255)
    fecha_de_inicio = models.DateField()
    fecha_de_termino = models.DateField(blank=True, null=True)

forms.py

from django import forms
from .models import Proyecto
from django.forms.fields import DateField
class ProyectoForm(forms.ModelForm):

    def save(self, usuario=None):
        self.instance.encargado = usuario
        super(ProyectoForm,self).save()

    class Meta:
        model = Proyecto
        fields = ('nombre', 'fecha_de_inicio', 'costo', 'objetivo', 'descripcion', 'cliente', 'estado')
        widgets = {
            'fecha_de_inicio': DateField(),
        }
+4
source share
1 answer

The problem is widget customization. You cannot set a field widget in a form field:

widgets = {'fecha_de_inicio': DateField()}

Instead, Datefieldyou need to provide a widget , for example. DateInput:

widgets = {'fecha_de_inicio': forms.DateInput(format='%d/%m/%Y')}
+8
source

Source: https://habr.com/ru/post/1540825/


All Articles