diff --git a/README.rst b/README.rst index 9c3ea50..93786f7 100644 --- a/README.rst +++ b/README.rst @@ -15,8 +15,10 @@ Enhance UI/UX of django admin - Read only mode - Bookmark menu - Ignore confirm delete page option +- Add link for foregin key in change list page - And more utils functions + Install ======= @@ -95,6 +97,7 @@ Basic Usage - **super_admin_only_fields** (list, default []) Only show these fields if user login is superuser - **ext_read_only_fields** (list, default []) Only show these fields in view mode. Default custom fields start with `display_` was mark as read only so you don't need add these fields to ext_read_only_fields - **ext_write_only_fields** (list, default []) Only show these fields in edit mode +- **enable_foreign_link** (boolean, default True) Add link for foregin key in change list page Advand diff --git a/admin_extended/base/mixins.py b/admin_extended/base/mixins.py index e9d7a6c..8a9a5d2 100644 --- a/admin_extended/base/mixins.py +++ b/admin_extended/base/mixins.py @@ -124,6 +124,7 @@ def changelist_view(self, request, extra_context=None): class DispayLinkAdapter: + enable_foreign_link = True def _foreign_key_link(self, field_name, description): """ @@ -157,12 +158,12 @@ def convert_display_fields(self, list_display): } if field.__class__.__name__ == 'ForeignKey': - field_mapping[field.attname[:-3]] = field_mapping[field.attname] # Eg `user_id` -> `user` key have same info + field_mapping[field.attname[:-3]] = field_mapping[field.attname] # Eg make `user_id` -> `user` key have same info results = [list_display[0]] for field_name in list_display[1:]: # ignore first field field_info = field_mapping.get(field_name) - if field_info and field_info['class_name'] == 'ForeignKey': + if field_info and field_info['class_name'] == 'ForeignKey' and self.enable_foreign_link: results.append(self._foreign_key_link(field_name, field_info['verbose_name'])) else: results.append(field_name) diff --git a/setup.py b/setup.py index 188490f..4b5bdfd 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( name='django-admin-extended', - version='3.2', + version='3.2.1', packages=find_packages(), include_package_data=True, license='MIT License',