Считать пустую отправленную форму, если заполнено только поле даты - PullRequest
0 голосов
/ 30 мая 2020

У меня есть inlineformset_factory с парой полей, где date = forms.DateField() - одно из них. Если я отправлю пустую форму, ошибки не будет. Но если я отправляю его только с заполненной датой, я получаю сообщение об ошибке, что нужны другие поля (что является нормальным поведением, и оно должно работать так, поскольку эти другие поля необходимы в случае действительной формы).

Я хочу, чтобы при заполнении только поля даты форма считалась пустой и не возникала ошибка. Как я могу это сделать?

Причина, по которой я хочу это, заключается в том, что я хочу заполнить поле даты текущей датой (через js), чтобы пользователю не нужно было заполнять это, поскольку это текущая дата 9 раз из 10.

Вот некоторый ссылочный код:

forms.py:

class FactuurItemsForm(forms.ModelForm):
class Meta:
    model = FactuurItems
    fields = [
            'datum', 'omschrijving', 'aantal', 'btw', 'prijs'
            ]

models.py:

class FactuurItems(models.Model):
    item_factuur = models.ForeignKey(Facturen, on_delete=models.CASCADE)
    omschrijving = models.CharField(max_length=200)
    aantal = models.IntegerField(default=0)
    btw = models.IntegerField(choices=btws, default='21')
    prijs = models.DecimalField(max_digits=10, decimal_places=2, default=0)
    datum = models.DateField(null=True, blank=True)
    totaalprijs = models.DecimalField(max_digits=10, decimal_places=2, default=0, null=True, blank=True)

views.py:

FacturenFormSet = inlineformset_factory(Facturen, FactuurItems, form=FactuurItemsForm, 
                    extra=1,
                    fields=('omschrijving', 'aantal', 'btw', 'prijs', 'datum'),
...