मैं Django बाकी फ्रेमवर्क (डीआरएफ) 2 में इस पैटर्न का पालन करते थे:आप Django Rest Framework 3 में ModelViewSet की get_queryset को ओवरराइड कैसे करते हैं?
class Foo(models.Model):
user = models.ForeignKey(User)
class FooSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Foo
fields = ('url')
class FooViewset(viewsets.ModelViewSet):
def get_queryset(self):
return Foo.objects.filter(user=self.request.user)
serializer = FooSerializer
model = Foo # <-- the way a ModelViewSet is told what the object is in DRF 2
[ in urls.py]
from rest_framework import routers
router = routers.DefaultRouter()
router.register('Foo', views.FooViewSet)
डीआरएफ 3 में, मैं अब मिलती है:
AssertionError at/
`base_name` argument not specified, and could not automatically
determine the name from the viewset, as it does not have a
`.queryset` attribute.
कैसे get_queryset
rest_framework.viewsets.ModelViewSet
का एक उदाहरण के लिए ओवरराइड की गई है?
मेरा सुझाव है कि मेरा जवाब उपयोग करें, काफी साफ है। कोशिश करो। – levi
यहां प्रासंगिक दस्तावेज है: http://www.django-rest-framework.org/api-guide/routers/#usage – Seth
मैं एक ही समस्या में गिर गया हूं। मुझे आपका जवाब नहीं मिला है। क्या आप विवरण का उत्तर दे सकते हैं? – Amir