mik*_*892 5 python django django-rest-framework
我得到的错误是
ImproperlyConfigured at /usercombo/
Could not resolve URL for hyperlinked relationship using view name "usercombo-detail". You may have failed to include the related model in your API, or incorrectly configured the `lookup_field` attribute on this field.
Run Code Online (Sandbox Code Playgroud)
在我的view.py中
class UserComboViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows UserCombo to be viewed or edited.
"""
queryset = UserCombo.objects.all()
serializer_class = UserComboSerializer
permission_classes = (IsAuthenticated,EmailConfirmationPermission)
lookup_field='customURL'
def get_queryset(self):
return UserCombo.objects.filter(user=self.request.user)
Run Code Online (Sandbox Code Playgroud)
在我的serializer.py中:
class UserCombo(serializers.HyperlinkedModelSerializer):
customURL = serializers.CharField(
required=False,)
data = JSONSerializerField()
class Meta:
model = UserCombo
unique_together = (("product", "user"),)
fields = ('url', 'user', 'product', 'data', 'customURL', 'is_active')
lookup_field ='customURL'
Run Code Online (Sandbox Code Playgroud)
如果我删除两个lookup_field行,一切正常,但usercombo对象的lookup_field是pk.
看起来在 django-rest-framework 3.2 版中,使用 lookup_field 作为 ModelSerializer.Meta 的选项已被删除。这个错误是因为这个删除。仍然可以将 lookup_field 与 extra_kwargs 一起使用。
http://www.django-rest-framework.org/topics/3.2-announcement/
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |