【问题标题】:Confusion with viewset in Django与 Django 中的视图集混淆
【发布时间】:2020-09-05 08:46:40
【问题描述】:

我在Django Rest框架中学习Viewset,发现我们需要添加这些变量:

queryset = User.objects.all()
    serializer_class = UserSerializer

在视图集内,或者准确地说是 ModelViewSet。问题是为什么 ModelViewSet 中需要 queryset 和 serializer_class 变量?

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:
    queryset - We need queryset in order to get the data from database table
    
    serializer_class - We need to have serializer, so that it can convert the data into json (Rest API).
    

    【讨论】:

    • hey)),好的,我理解了 serializer_class,它与 put、post 和 delete 方法一起使用,因为我们将数据发送到服务器,而 serializer_class 有助于反序列化然后将数据放入数据库。那是对的吗?至于queryset,是在我们向服务器发送get请求时使用的吗?对吗?
    【解决方案2】:

    因为这就是您的 ViewSet 可以返回任何数据的方式。它使用queryset 从数据库获取数据/从数据库获取数据,并使用serializer_class 取消/序列化数据。 ViewSet 定义了围绕这两件事的行为,例如它将如何获取GET 请求的哪些数据以及它将如何接受和存储POST/PUT/DELETE 请求的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 2010-09-06
      • 2014-07-09
      • 1970-01-01
      相关资源
      最近更新 更多