Как проверить и сохранить форму django, в которой отсутствует обязательное поле? - PullRequest
0 голосов
/ 26 марта 2020

Это моя модель:

class MyModel(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    field1 = models.CharField(max_length=3, blank=True)
    field2 = models.CharField(max_length=3, blank=True)

и это моя форма:

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ['field1','field2']

, когда я хочу сохранить экземпляр формы, я получаю сообщение об ошибке, подобное этому:

{'user': [u'This field cannot be null.']}

У меня есть пользовательское поле в MyModel, которое не представлено в списке полей формы.

Так как я могу установить пользователя в форме, не изменяя саму форму.

Мне нужно что-то вроде этого, которое не работает:

user = User.objects.first()
data = {'field1':'123','field2':'456', 'user': user}
form1 = MyForm(data)
form1.save()
...