"Это поле обязательно для заполнения". - в django

моя модель

class User(models.Model):
    lang = models.CharField(max_length=40,choices=LANGUAGE_CHOICES, default='ru')
    email =  models.EmailField(("E-mail"), max_length=254, unique= True)
    user_name = models.CharField(("Имя"),max_length=60)
    phone_number = models.CharField(("Телефон"),max_length=60, unique= True)
    date_of_meeting = models.CharField(max_length=50,choices = DATE_OF_MEETING,default = FIRST)
   
    def __str__(self):
       return "%s %s" % (self.user_name, self.email)

мой views.py Я использовал modelform_factory() в моих представлениях для создания формы без forms.py.

    class UserView(APIView):
    
    def post(self,request,*args, **kwargs):
        if request.method == 'POST':
            form = modelform_factory(User,  fields="__all__")
            response = form(request.POST)
            if response.is_valid():
                response.save()
                return JsonResponse(status=status.HTTP_201_CREATED)
            else:
               return JsonResponse(response.errors, status=status.HTTP_400_BAD_REQUEST)

мой запрос на почту от почтальона

{
    "lang": "ru",
    "email": "asdms@mail.m",
    "user_name": "asdasd",
    "phone_number": "123123",
    "date_of_meeting": "20-11-2021"
}

После запроса почты я получил:

 {
    "lang": [
        "This field is required."
    ],
    "email": [
        "This field is required."
    ],
    "user_name": [
        "This field is required."
    ],
    "phone_number": [
        "This field is required."
    ],
    "date_of_meeting": [
        "This field is required."
    ]
}

Как правильно обработать этот пост запрос и записать его в мою модель? Является ли эта ошибка следствием того, что я не использовал сериализатор?

Вернуться на верх