python - Overriding how a generic class based looks up an object from the URL arguments -


my understanding generic class based views rely on pk variable specified corresponding urls.py perform database lookup. in urls.py specify pk, in class-based view provide queryset , serializer class.

is there way keep near dry-ness of generic view override only how class goes pk object or queryset? know inherit apiview instead , provide get, post, etc. methods myself, that's awful lot more code. want keep using inbuilt functionality of generics provide mechanism go url arguments object or queryset.

i'm trying allow objects specified in url ordinality rather pk. so, /foo/1 maps foo.objects.all()[0].

i think solution override get_object - hadn't realise access url parameters under view class itself:

class foo(generics.retrievedestroyapiview):     serializer_class = fooserializer      def get_object(self):         return foo.objects.all()[self.kwargs['foo_if_in_url'] - 1] 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -