How to get request.user from method queryset of ModelResource in django-import-export?
class PeopleResource(ModelResource):
class Meta:
model = People
exclude = ('id','agent', 'public_id', 'active')
def dehydrate_placeA(self, people):
...
...
def get_queryset(self):
query = People.objects.filter( ..... request.user )
return query
Problem solved. I forget that I have called people_resource.export()
in my views before. Now it easier because I just pass variabel kwargs in method export()
and override def export()
in model PeopleResource
. So my solution is here.
views.py
def export_excel(request):
...
people_resource = PeopleResource()
dataset = people_resource.export(agent=request.user.agent,)
...
models.py
class PeopleResource(ModelResource):
class Meta:
model = People
exclude = ('id','agent', 'public_id', 'active')
...
...
def export(self, queryset=None, *args, **kwargs):
queryset = People.objects.filter(agent=kwargs['agent'])
return super(PeopleResource, self).export(queryset, *args, **kwargs)