Skip to content

Commit 0728e32

Browse files
authored
Update admin.py
1 parent 88adde3 commit 0728e32

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

admin.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)