2015-09-10 29 views
4

我得到的錯誤是Django的REST框架定製lookup_field,無法解析詳細

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。

+0

確保'customURL'是'UserCombo'模型的一部分。定義'lookup_field' - 應該用於執行各個模型實例的對象查找的* model *字段。 – dukebody

+0

它是模型中的char字段。 – mike29892

回答