LINUX.ORG.RU

Проблема с добавлением виджетов.

 , ,


0

1

Пытаюсь изменить виджет для DateField на SelectDateWidget(пробывал ещё AdminDateWidget), но по каким-то загадочным причинам оно не применяется, так же оно и не переопределяет лэйблы почему-то, может чего-то я не понимаю, так как изучаю джанго не так давно. forms.py:

class RaceForm(ModelForm):
    class Meta:
        model = Race
        fields = '__all__'
        labels = {
                  'car': 'Машина',
                  'driver': 'Водитель',
                  'type': 'Реализация',
        }
        widgets = {'race_date': SelectDateWidget(months=MONTHS)}
views.py:
class RaceCreate(CreateView):
    model = Race
    success_url = '/Race'
    fields = '__all__'


class RaceUpdate(UpdateView):
    model = Race
    success_url = '/Race'
    fields = '__all__'

    def get_object(self, **kwargs):
        return self.model.objects.get(pk=self.request.POST.get('pk'))


class RaceDelete(DeleteView):
    model = Race
    success_url = '/Race'

    def get_object(self, **kwargs):
        return self.model.objects.get(pk=self.request.POST.get('pk'))
models.py:
class Race(models.Model):
    id_race = models.AutoField(primary_key=True)
    name_race = models.CharField(max_length=5, default='Рейс')
    race_date = models.DateField()
    car = models.ForeignKey(Car)
    driver = models.ForeignKey(Driver)
    type = models.BooleanField(default=0)
    supplier = models.ForeignKey(Supplier)
    customer = models.ForeignKey(Customer)
    shipment = models.ForeignKey(Shipment, null=True, blank=True)
    product = models.ForeignKey(Product)
    mediator = models.ForeignKey(Mediator)
    s_milage = models.FloatField(default=0)
    e_milage = models.FloatField(default=0)
    weight_load = models.FloatField(default=0)
    weight_unload = models.FloatField(default=0)
    comm = models.TextField()
    state = models.IntegerField(default=0)
    create_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return '%s' % self.name_race
Django 1.11.7, python 3.5.3


Нужно в представлениях указать, что хочешь юзать свой класс формы.

Как-то так:

class MyView(CreateView):
    form_class = RaceForm
    ...
Dmit3Y ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.