[Fixed]-Django – different inlines for different users

1👍

✅

Maybe this code will be helpfull:

class JobAdmin(admin.StackedInline):
    model = Job
    extra = 0

    def get_queryset(self, request):
        qs = super(JobAdmin, self).get_queryset(request)
        if request.user.status in [1]:
            qs = qs.filter(inspector__office=request.user.office)
        return qs

    def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
        if db_field.name == "inspector" and request.user.status == 1:
            kwargs['queryset'] = Inspector.objects.filter(office=request.user.office)
        return super().formfield_for_foreignkey(db_field, request, **kwargs)

P.S. Link to Django documentation: formfield_for_foreignkey

Leave a comment