【问题标题】:UserRegistrationAPIView should either include a `querylist` attribute, or override the `get_querylist()` methodUserRegistrationAPIView 应该包含一个 `querylist` 属性,或者覆盖 `get_querylist()` 方法
【发布时间】:2019-10-29 19:46:31
【问题描述】:

我正在尝试创建一个与 android 应用程序通信的 API,在尝试实现用户注册时,我使用了 django 自定义用户模型,成功对其进行了序列化,但我有点迷失了#app/Views 代码 我对 django 很陌生

class UserRegistrationAPIView(ObjectMultipleModelAPIView):
    def get_query_list(self):
        query_list = ({'queryset':      ClientUser.objects.all(),
                       'serializer_class':        UserClientRegSeerializer},
                      {'queryset': User.objects.all(),
                       'serializer_class': UserRegistrationSerializer}

                  )
        return query_list

class UserRegistrationAPIView(ObjectMultipleModelAPIView):

    def get_query_list(self):
        query_list = ({'queryset':      ClientUser.objects.all(),
                       'serializer_class':        UserClientRegSeerializer},
                      {'queryset': User.objects.all(),
                       'serializer_class': UserRegistrationSerializer}

                  )
        return query_list

【问题讨论】:

  • get_querylist,不是get_query_list
  • @WillemVanOnsem 我认为他正在使用名为DjangoRestMultipleModels的第三方包
  • @JPG:是的,但正如所说,下划线太多了,是get_querylist,而不是get_query_list

标签: django-rest-framework django-views


【解决方案1】:

According to the documentation,你不需要重写任何方法。您需要做的就是定义一个名为 querylist 的属性。

class UserRegistrationAPIView(ObjectMultipleModelAPIView):
    querylist = [{'queryset': ClientUser.objects.all(),
                  'serializer_class': UserClientRegSeerializer},
                 {'queryset': User.objects.all(),
                  'serializer_class': UserRegistrationSerializer}

                 ]


class FooUserRegistrationAPIView(ObjectMultipleModelAPIView):
    querylist = [{'queryset': ClientUser.objects.all(),
                  'serializer_class': UserClientRegSeerializer},
                 {'queryset': User.objects.all(),
                  'serializer_class': UserRegistrationSerializer}

                 ]

注意:在您的 OP 中,您定义了两次 UserRegistrationAPIView 类,这可能是一个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 2021-03-24
    • 2021-08-07
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 2010-09-27
    • 2019-07-25
    相关资源
    最近更新 更多