У меня есть модель для Articles
, в которой много полей. Когда кто-то получает указанную c статью id
, я хочу отправить почти все поля обратно клиенту.
Однако, когда список статей сгенерирован, я не хочу отправлять все статьи со всеми этими данными, а ограничиваю каждую статью несколькими важными полями списка и для go длинных полей. как content
et c ..
Могу ли я добиться этого с помощью элегантной настройки модуля django_restframework.viewsets
, или я должен просто собрать методы api, используя вместо этого django_restframwork.generics
?
пример:
# articles/api/urls.py #
# -------------------- #
from articles.api.views import ArticlesViewSet
from django.urls import path
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register(r'', ArticlesViewSet, basename='articles')
urlpatterns = router.urls
# articles/api/views.py #
# --------------------- #
from rest_framework.viewsets import ModelViewSet
from ..models import Article
from .serializers import ArticleSerializerFull, ArticleSerializerShort
class ArticlesViewSet(ModelViewSet):
# Perhaps some conditional code here?
serializer_class = ArticleSerializerFull
queryset = Article.objects.all()