Django DRF не десериализует jsonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Django DRF не десериализует json

Сообщение Anonymous »

Я столкнулся с очень странной проблемой с django drf. Представление ниже не десериализует event_time в методе post().

Код: Выделить всё

class EventListCreateView(generics.ListCreateAPIView):
class EventSerializer(serializers.ModelSerializer):
school_id = serializers.IntegerField(read_only=True)
class_number = serializers.CharField(source='class.universal_number', read_only=True)
class_id = serializers.IntegerField(write_only=True)

class Meta:
model = Event
fields = ('pk', 'event', 'school_id', 'class_number', 'class_id', 'event_time',)

serializer_class = EventSerializer
filterset_class = EventFilterSet
ordering_fields = ['event_time']

def get_queryset(self):
return (
Event.objects.select_related('class')
.annotate(school_id=F('class__school'))
.order_by('-pk')
)

Это работает только после того, как я явно укажу event_time в сериализаторе:

Код: Выделить всё

class EventListCreateView(generics.ListCreateAPIView):
class EventSerializer(serializers.ModelSerializer):
school_id = serializers.IntegerField(read_only=True)
class_number = serializers.CharField(source='class.universal_number', read_only=True)
class_id = serializers.IntegerField(write_only=True)
event_time = serializers.DateTimeField()

class Meta:
model = Event
fields = ('pk', 'event', 'school_id', 'class_number', 'class_id', 'event_time',)

serializer_class = EventSerializer
filterset_class = EventFilterSet
ordering_fields = ['event_time']

def get_queryset(self):
return (
Event.objects.select_related('event_class')
.annotate(school_id=F('class__school'))
.order_by('-pk')
)
Модель:

Код: Выделить всё

class Event(models.Model):
event_class = models.ForeignKey(Class, on_delete=models.DO_NOTHING)
event = models.CharField(choices=EventNameEnum.choices, max_length=50, db_index=True)
event_time = models.DateTimeField(editable=False)
created_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return f'Event id: {self.pk} , Device id: {self.event_class.pk}'

Это неправильный подход.
Любые предложения по решению проблемы будут оценены по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/784 ... alize-json
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ASP.NET Core десериализует JSON в производные классы
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Json сериализует и десериализует типы, сгенерированные protobuf
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Jsonb.fromJson не десериализует набор, созданный из строки JSON, созданной Jsonb.toJson(objectWithSet).
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Jsonb.fromJson не десериализует набор, созданный из строки JSON, созданной Jsonb.toJson(objectWithSet).
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • System.text.json не десериализует ienumerable с частным получателем
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»