'CityListViewSet' 应该包含一个 `serializer_class` 属性,或者覆盖 `get_serializer_class()` 方法
'CityListViewSet' should either include a `serializer_class` attribute, or override the `get_serializer_class()` method
我假设标题中的错误,为了清楚起见再次在这里
'CityListViewSet' should either include a `serializer_class` attribute,
or override the `get_serializer_class()` method.
我的序列化器没有连接到我的视图,这在我的代码中应该是。我不太确定这个错误在哪里。不知道大家有没有见过类似的东西?
这是代码。
路由器:
router.register(r'city-list', CityListViewSet, base_name='city-list')
查看:
class CityListViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Venue.objects.values('city').distinct()
serializer = CitySerializer(queryset, many=True)
ordering_fields = ('city',)
ordering = ('city',)
序列化器:
class CitySerializer(serializers.ModelSerializer):
class Meta:
model = City
fields =('city',)
是什么导致了代码似乎正确连接的断言错误?
异常说明了一切。您需要一个 serializer_class
属性。你有 serializer
.
您在这里使用了不同的型号名称:
查看:
class CityListViewSet(viewsets.ReadOnlyModelViewSet): #(viewsets.ModelViewSet)
queryset = City.objects.values('city').distinct()
serializer = CitySerializer(queryset, many=True)
ordering_fields = ('city',)
ordering = ('city',)
导入 -> 从 .serializers 导入 TaskSerializers,CitySerializer
序列化器:
class CitySerializer(serializers.ModelSerializer):
class Meta:
model = City
fields =('city',)
我在视图中声明 post 方法并尝试在不序列化的情况下发送 post 数据时遇到此错误,如果您正在执行来自 javascript 的请求,我使用 JSON.stringify()
serializer = CitySerializer(queryset, many=True)
上面一行应该替换为
serializer_class = CitySerializer(queryset, many=True)
你必须覆盖用户只是添加
from django.contrib.auth.models import User
from rest_framework.permissions import IsAdminUser
并在 createViewList
permission_classes = [IsAdminUser]
错误说你定义了一个序列化器属性,你需要通过编写来更正
serializer_class 代码中的属性,
serializer_class = yourCreatedSerializer
将此代码段添加到您的 views.py
文件
class CityListViewSet(viewsets.ReadOnlyModelViewSet): # (viewsets.ModelViewSet)
serializer_class = CitySerializer
queryset = City.objects.values('city').distinct()
serializer = CitySerializer(queryset, many=True)
ordering_fields = ('city',)
ordering = ('city',)
我假设标题中的错误,为了清楚起见再次在这里
'CityListViewSet' should either include a `serializer_class` attribute,
or override the `get_serializer_class()` method.
我的序列化器没有连接到我的视图,这在我的代码中应该是。我不太确定这个错误在哪里。不知道大家有没有见过类似的东西?
这是代码。
路由器:
router.register(r'city-list', CityListViewSet, base_name='city-list')
查看:
class CityListViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Venue.objects.values('city').distinct()
serializer = CitySerializer(queryset, many=True)
ordering_fields = ('city',)
ordering = ('city',)
序列化器:
class CitySerializer(serializers.ModelSerializer):
class Meta:
model = City
fields =('city',)
是什么导致了代码似乎正确连接的断言错误?
异常说明了一切。您需要一个 serializer_class
属性。你有 serializer
.
您在这里使用了不同的型号名称:
查看:
class CityListViewSet(viewsets.ReadOnlyModelViewSet): #(viewsets.ModelViewSet)
queryset = City.objects.values('city').distinct()
serializer = CitySerializer(queryset, many=True)
ordering_fields = ('city',)
ordering = ('city',)
导入 -> 从 .serializers 导入 TaskSerializers,CitySerializer
序列化器:
class CitySerializer(serializers.ModelSerializer):
class Meta:
model = City
fields =('city',)
我在视图中声明 post 方法并尝试在不序列化的情况下发送 post 数据时遇到此错误,如果您正在执行来自 javascript 的请求,我使用 JSON.stringify()
serializer = CitySerializer(queryset, many=True)
上面一行应该替换为
serializer_class = CitySerializer(queryset, many=True)
你必须覆盖用户只是添加
from django.contrib.auth.models import User
from rest_framework.permissions import IsAdminUser
并在 createViewList
permission_classes = [IsAdminUser]
错误说你定义了一个序列化器属性,你需要通过编写来更正 serializer_class 代码中的属性,
serializer_class = yourCreatedSerializer
将此代码段添加到您的 views.py
文件
class CityListViewSet(viewsets.ReadOnlyModelViewSet): # (viewsets.ModelViewSet)
serializer_class = CitySerializer
queryset = City.objects.values('city').distinct()
serializer = CitySerializer(queryset, many=True)
ordering_fields = ('city',)
ordering = ('city',)