簡體   English   中英

使用django rest框架自定義lookup_field,無法解析細節

[英]Custom lookup_field with django rest framework, Cannot resolve detail

我得到的錯誤是

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.

在我的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)

在我的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'

如果我刪除兩個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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM