При создании API у меня возникают некоторые проблемы
Вот моя модель
class Education(AuditFields):
user = models.ForeignKey(User, on_delete=models.CASCADE)
school = models.CharField(max_length=255, blank=True)
field_of_study = models.CharField(max_length=255, blank=True)
start_year = models.DateField(default=datetime.now)
end_year = models.DateField(default=datetime.now)
Это мой сериализатор:
class EducationSerializer(ModelSerializer):
class Meta:
model = Education
fields = '__all__'
просмотров:
class EducationCreateView(CreateAPIView):
def get_queryset(self, *args, **kwargs):
queryset_list = Education.objects.filter(
user=self.request.user)
return queryset_list
serializer_class = EducationSerializer
def perform_create(self, serializer):
serializer.save(user=self.request.user)
Если я что-то напишу, будет показано следующее сообщение
{
"user": [
"This field is required."
]
}
если я изменю свой сериализатор следующим образом
class EducationSerializer(ModelSerializer):
class Meta:
model = Education
fields = '__all__'
extra_kwargs = {'user': {'required': False}}
Я получаю ошибку, подобную этой
Ожидается date
, но есть datetime
. Отказ от принуждения, поскольку это может означать потерю информации о часовом поясе. Используйте настраиваемое поле только для чтения и решайте проблемы с часовыми поясами.
Как решить эту проблему.