@@ -88,27 +88,35 @@ def formfield_for_dbfield(self, db_field, request, **kwargs):
8888
8989 # Function to get the fieldsets
9090 def get_fieldsets (self , request , obj = None ):
91- # If admin meta has fieldssets defined then return that fieldsets
9291 if 'fieldsets' in self .admin_meta :
9392 return self .admin_meta ['fieldsets' ]
9493
95- # Define the fieldsets
96- common_fields = [field .name for field in CommonModel ._meta .fields if field .editable ]
97- other_fields = [field .name for field in self .model ._meta .fields if (field .name not in common_fields and field .editable and field .name != 'id' )]
98- m2m_fields = [field .name for field in self .model ._meta .many_to_many ]
99- other_fields = other_fields + m2m_fields
94+ common_fields = []
95+ if issubclass (self .model , CommonModel ):
96+ common_fields = [field .name for field in CommonModel ._meta .fields if field .editable ]
97+
98+ other_fields = [field .name for field in self .model ._meta .fields if field .name not in common_fields and field .editable and field .name != 'id' ]
99+ m2m_fields = [field .name for field in self .model ._meta .many_to_many ]
100+ other_fields += m2m_fields
100101
101102 fieldsets = [
102- (self .model ._meta .object_name , {
103+ (self .model ._meta .verbose_name .title (), {
104+ "classes" : ["tab" ],
103105 'fields' : other_fields ,
104- }),
105- ('Meta Data' , {
106- 'fields' : common_fields ,
107- }),
106+ })
108107 ]
109108
109+ if common_fields :
110+ fieldsets .append (
111+ (_ ("Meta Data" ), {
112+ "classes" : ["tab" ],
113+ 'fields' : common_fields ,
114+ })
115+ )
116+
110117 return fieldsets
111118
119+
112120 def get_readonly_fields (self , request , obj = None ):
113121 # Get a list of non-editable fields
114122 readonly_fields = [field .name for field in self .model ._meta .fields if (not field .editable or field .name == 'id' )]
0 commit comments