@timkin1

Как правильно написать viewsets для своего класса в Django REST Framework?

Здравствуйте!
Возник вопрос: как правильно написать viewsets для класса (не модели) в Django REST Framework? Для сериализации использую класс-наследник от serializers.Serializer. Но в viewsets не знаю что записывать в переменную queryset.

class Comment(object):
    def __init__(self, email, content, created=None):
        self.email = email
        self.content = content
        self.created = created or datetime.now()

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

class PatronymicViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = Comment(email='test@test.ru', content='test')
    serializer_class = CommentSerializer


Заранее спасибо!
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
@szelga
DRF из коробки рассчитано на работу с джанговскими моделями. соответственно, queryset должен быть queryset'ом из джанговского ORM или обладать точно же таким интерфейсом. кроме того, ViewSet'ы по самой своей природе используются для набора однотипных моделей, а не для одинарного объекта, как в вашем примере. для одинарного объекта надо использовать просто представления (т.е., View).
если вы только начинаете разбираться с Django и DRF, то имеет смысл работать с Django ORM, а не с самостоятельно созданными классами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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