Hi Yann,

You can try queryset union functionality:

class MultiFilterPlacesListView(ListAPIView):
     """Custom queryset api view. Does not implement pagination"""

     pagination_class = None # Import custom pagination if you need the 
pagination.
     queryset = Places.objects.all()
     slice_size = 10  # count limit for each of the source queries

     def get_queryset(self):
         """Combine queries from new, editor choice and popular"""
         new_qs = self.queryset.filter(new_place=True)[:self.slice_size]
         editor_qs = self.queryset.filter(editor_choice=True)[:self.slice_size]
         popular_qs = self.queryset.filter(popular=True)[:self.slice_size]

         return new_qs.union(editor_qs, popular_qs, all=True) # Output will be 
union of the above two querysets


Doc: Django 
<https://docs.djangoproject.com/en/1.11/ref/models/querysets/#django.db.models.query.QuerySet.union>
Example: StackOverflow <https://stackoverflow.com/a/50240225/10353116>

Note:
if you are doing the union, then you won't get the pagination. In case, if 
you need pagination then you need to write custom pagination.



On Thursday, October 3, 2019 at 3:22:34 AM UTC+5:30, Yann Mbella wrote:
>
> hi everyone,
> I got a problem in listing two models from a listview that is,  a list of 
> one model and another model together (eg Books and Authors)
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/54a1b8ea-fbac-4a8c-a482-e172d88cafc9%40googlegroups.com.

Reply via email to