目錄結構
2.1.第一步:查看ModelAdmin類和BaseModelAdmin類的源碼
2.2.第二步:查看錶animal對應的列表展示頁面默認的數據展示
2.3.第三步:對錶animal對應的列表展示頁面的數據展示進行相關優化
2.6.第六步:查看錶animal對應的列表展示頁面最新的數據展示
1.前言
對admin管理後臺裏的列表展示頁面的數據展示進行相關優化的目的:更加方便我們對列表展示頁面裏的數據進行操作!
問題:那麼,我們如何對admin管理後臺裏的列表展示頁面的數據展示進行相關優化呢?
答案:我們對指定父類裏的相關屬性值進行重寫,就能實現對admin管理後臺裏的列表展示頁面的數據展示進行優化;
具體實現可以看接下來完整的操作流程;
細節:
①.操作流程的全程都是拿表animal當測試數據;
2.完整的操作步驟
2.1.第一步:查看ModelAdmin類和BaseModelAdmin類的源碼
細節:
①.ModelAdmin類是BaseModelAdmin類的子類;
②.假如一個父類A裏有一個屬性A1,類B是父類A的子類,類C是類B的子類,那麼在類C裏可以對屬性A1的值進行重寫;
class ModelAdmin(BaseModelAdmin): """Encapsulate all admin options and functionality for a given model.""" list_display = ('__str__',) # 顯示在列表展示頁面的表字段的集合;數據類型爲元祖; list_display_links = () # 在列表展示頁面裏的可被點擊且點擊後能跳轉到數據詳情頁的表字段的集合;數據類型爲元祖; list_filter = () # 被過濾的表字段的集合;數據類型爲元祖; list_select_related = False list_per_page = 100 # 在列表展示頁面裏,每個分頁最多展示100條數據;數據類型爲int; list_max_show_all = 200 list_editable = () # 在列表展示頁面裏,表字段值可以被編輯的表字段的集合;數據類型爲元祖; search_fields = () # 在列表展示頁面裏,表字段值可以被當做搜索條件的表字段的集合;數據類型爲元祖; date_hierarchy = None # 在列表展示頁面裏,任意一個值是時間類型的表字段可以被當做時間分層的篩選條件,一般比如用表字段create_time;數據類型爲字符串; save_as = False save_as_continue = True save_on_top = False paginator = Paginator preserve_filters = True inlines = []
class BaseModelAdmin(metaclass=forms.MediaDefiningClass): """Functionality common to both ModelAdmin and InlineAdmin.""" autocomplete_fields = () raw_id_fields = () fields = None exclude = None fieldsets = None form = forms.ModelForm filter_vertical = () filter_horizontal = () radio_fields = {} prepopulated_fields = {} formfield_overrides = {} readonly_fields = () ordering = None # 在列表展示頁面裏,任意一至多個表字段的表字段值可以被當做排序條件,一般比如用表字段create_time;數據類型爲元祖; # (如果【ordering = ("-create_time")】:表示數據按照創建時間倒序排序;如果【ordering = ("create_time")】:表示數據按照創建時間正序排序; ) sortable_by = None view_on_site = True show_full_result_count = True checks_class = BaseModelAdminChecks
2.2.第二步:查看錶animal對應的列表展示頁面默認的數據展示
2.3.第三步:對錶animal對應的列表展示頁面的數據展示進行相關優化
class ControlAnimal(admin.ModelAdmin): list_display = ("id","name","age","create_time") list_display_links = ("id","name",) list_filter = ("name","create_time") list_per_page = 11 list_editable = ("age",) # 注意:表字段id因爲是主鍵且由於主鍵不允許被編輯,所以表字段id不能添加到 list_editable裏面,否則會報錯; search_fields = ("name","age") date_hierarchy = "create_time" ordering = ("-create_time",) admin.site.register(models.animal,ControlAnimal)
2.4.第四步:重啓服務
2.5.第五步:退出登錄並再次成功登陸admin管理後臺
2.6.第六步:查看錶animal對應的列表展示頁面最新的數據展示
3.調試過程中相關報錯信息的解決方案
①.解決方案:
根據報錯日誌(報錯日誌都是英文),複製報錯日誌裏核心的報錯文案進行如下處理:1.可以複製到百度進行查找對應答案,然後去改對應的錯誤代碼塊;2.或者可以按照報錯文案進行自我理解,然後去改對應的錯誤代碼塊;
②.實際案例如下: