Как я могу использовать один и тот же сериализатор для GET и POST?

Я сделал это с помощью preend.

query.orderByChild('sell').limitToLast(4).on("value", function(snapshot){
    snapshot.forEach(function (childSnapshot) {
        // PREPEND
    });
});
0
задан No-One 13 July 2018 в 13:50
поделиться

1 ответ

Вы можете переопределить __init__() класса ModerSerializer,

class ChoiceSerializer(serializers.ModelSerializer):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        if 'view' in self.context and self.context['view'].action == 'create':
            self.fields.update({"question": serializers.PrimaryKeyRelatedField(queryset=Question.objects.all())})

    class Meta:
        fields = '__all__'
        model = Choice
        depth = 1

Вы также можете ограничить настройки с помощью viewset actions, Подробнее читайте Действия Viewset

Примечание: я не тестировал решение, но он может хорошо работать

Ссылка: Django Rest Framework: динамически возвращать подмножество полей

1
ответ дан marc_s 17 August 2018 в 12:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: