i have own auth user model, inherits permissionsmixin. while i'm visiting django-admin page instance of model, lot of db queries (as have lot of permissions). problem lies here, django/contrib/auth/models.py:
class permission(models.model): [...] def __str__(self): return "%s | %s | %s" % ( six.text_type(self.content_type.app_label), six.text_type(self.content_type), six.text_type(self.name)) every time permission displayed on admin page, makes query content_type.
question is: can ensure every query involving auth user model, doesn't come code (like django admin) run prefetch_related permissions , content_types?
if need django-admin, can create own admin page using techniques described in official documentation.
for instance:
from django.contrib import admin django.contrib.auth.models import permission foo.models import user class useradmin(admin.modeladmin): def formfield_for_manytomany(self, db_field, request=none, **kwargs): if db_field.name == 'user_permissions': kwargs['queryset'] = permission.objects.all().select_related('content_type') return super(useradmin, self).formfield_for_manytomany(db_field, request, **kwargs) admin.site.register(user, useradmin)
Comments
Post a Comment