"Это поле обязательно для заполнения". - в 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."
]
}
Как правильно обработать этот пост запрос и записать его в мою модель? Является ли эта ошибка следствием того, что я не использовал сериализатор?