Skip to content
Snippets Groups Projects
admin.py 620 B
Newer Older
  • Learn to ignore specific revisions
  • from django.contrib.admin import register as initial_register, site, ModelAdmin  # noqa
    from django.db.models.fields.related import RelatedField
    
    
    def register(model):
        """
        To make the admin more performant, we ensure all the the relations
        are listed under raw_id_fields
        """
    
        def decorator(modeladmin):
            raw_id_fields = []
            for field in model._meta.fields:
                if isinstance(field, RelatedField):
                    raw_id_fields.append(field.name)
            setattr(modeladmin, "raw_id_fields", raw_id_fields)
            return initial_register(model)(modeladmin)
    
        return decorator