'classes': ('collapse', ), }), ) if RELATION_MODELS: inlines = [ InlineCategoryRelation, ] class Media: js = (settings.STATIC_URL + 'js/genericcollections.js', ) admin.site.register(Category, CategoryAdmin) for model, modeladmin in admin.site._registry.items(): if model in registry.values() and modeladmin.fieldsets: fieldsets = getattr(modeladmin, 'fieldsets', ()) fields = [ cat.split('.')[1] for cat in registry if registry[cat] == model ] # check each field to see if already defined for cat in fields: for k, v in fieldsets: if cat in v['fields']: fields.remove(cat) # if there are any fields left, add them under the categories fieldset if len(fields) > 0: print fields admin.site.unregister(model) admin.site.register( model,
prepopulated_fields = {'slug': ('name',)} fieldsets = ( (None, { 'fields': ('parent', 'name') }), ('Meta Data', { 'fields': ('alternate_title', 'description', 'meta_keywords', 'meta_extra'), 'classes': ('collapse',), }), ('Advanced', { 'fields': ('order', 'slug'), 'classes': ('collapse',), }), ) if RELATION_MODELS: inlines = [InlineCategoryRelation,] class Media: js = ('js/genericcollections.js',) admin.site.register(Category, CategoryAdmin) for model,modeladmin in admin.site._registry.items(): if model in registry.values(): admin.site.unregister(model) admin.site.register(model, type('newadmin', (modeladmin.__class__,), { 'fieldsets': getattr(modeladmin, 'fieldsets', ()) + (('Categories',{ 'fields': ('category','categories'), }),) }))
}), ('Advanced', { 'fields': ('order', 'slug'), 'classes': ('collapse',), }), ) if RELATION_MODELS: inlines = [InlineCategoryRelation,] class Media: js = (settings.STATIC_URL + 'js/genericcollections.js',) admin.site.register(Category, CategoryAdmin) for model, modeladmin in admin.site._registry.items(): if model in registry.values() and modeladmin.fieldsets: fieldsets = getattr(modeladmin, 'fieldsets', ()) fields = [cat.split('.')[1] for cat in registry if registry[cat] == model] # check each field to see if already defined for cat in fields: for k,v in fieldsets: if cat in v['fields']: fields.remove(cat) # if there are any fields left, add them under the categories fieldset if len(fields) > 0: print fields admin.site.unregister(model) admin.site.register(model, type('newadmin', (modeladmin.__class__,), { 'fieldsets': fieldsets + (('Categories', { 'fields': fields }),)