after several tests, I found a working solution, but I don't know if
it is correct. I overwrote the following function in ClassBAdmin
def render_change_form(self, request, context, add=False,
change=False, form_url='', obj=None):
if not request.user.is_superuser:
adminform = context.__getitem__('adminform')
qs = context['adminform'].form['classa'].field.queryset
qs = qs.filter (user=request.user)
context['adminform'].form['classa'].field.queryset = qs
return super(ClassBAdmin, self).render_change_form(request,
context, add, change, form_url, obj)
Is there any better solution?