テスト開発のpythonジャンゴ - 23.adminリストページの最適化と並べ替え

序文

リストソートと最適化

ModelAdminの

次のようにクラス定義のModelAdminのパラメータ内のDjangoのoptions.pyは、管理ページの一覧をバックに設定することができ、関連するパラメータは、

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条 list_max_show_all = 200 list_editable = () # 列表页 可编辑字段 search_fields = () # 搜索条件 date_hierarchy = None # 按时间分层 save_as = False save_as_continue = True save_on_top = False paginator = Paginator preserve_filters = True inlines = [] 

ソートフィールド

背景リストページ、あなたはフィールドでソートしたい場合、あなたは降順、このような作成時間(creat_time)によるなどのパラメータ、注文を追加することができます
注:クラス内部BaseModelAdminにおける秩序パラメータではなく、ModelAdminのクラスは、ModelAdminのはBaseModelAdminを継承

降順で表現 - Admin.pyコンテンツファイルは、パラメータ前述CREATE_TIMEフィールドを注文、追加、変更します

class ControlArticle(admin.ModelAdmin):
    # 显示的字段 list_display = ('title', 'body', 'auth', 'create_time', 'update_time') # 搜索条件 search_fields = ('title',) # 按字段排序 -表示降序 ordering = ('-create_time',) # 注册Article表 admin.site.register(models.Article, ControlArticle)

ページを更新した後、それは時系列降順であります

リストPage

100のレコードのリストのデフォルト設定では、我々はまた、10ページあたりのデフォルトの表示、設定list_per_page = 10の次のセットを変更することができます

class ControlArticle(admin.ModelAdmin):
    # 显示的字段 list_display = ('title', 'body', 'auth', 'create_time', 'update_time') # 搜索条件 search_fields = ('title',) # 按字段排序 -表示降序 ordering = ('-create_time',) # 每页显示10条 list_per_page = 10 # 注册Article表 admin.site.register(models.Article, ControlArticle)

デフォルトの編集可能なフィールドを設定します。

あなたが直接リストにページを編集できるようにしたい場合は、あなたがlist_editableパラメータを追加することができますいくつかのフィールドなので、サブページを入力する必要はありません、あなたは直接、ページ上のフィールドのリストを編集することができ
、そのようなlist_editable =としてライン上のタプル内のカンマで区切られた複数のパラメータは、存在する場合( '体'、 'AUTH' 、)

class ControlArticle(admin.ModelAdmin):
    # 显示的字段 list_display = ('title', 'body', 'auth', 'create_time', 'update_time') # 搜索条件 search_fields = ('title',) # 按字段排序 -表示降序 ordering = ('-create_time',) # 每页显示10条 list_per_page = 10 # 可编辑字段 list_editable = ('auth',) # 注册Article表 admin.site.register(models.Article, ControlArticle)

注意:タイトルはデフォルトリンクリンクフィールドで、これは内部list_editableに追加することができない、それ以外の場合はエラーになります

ほとんど使用が終了した後に、この機能をポイントを保存するには、右下隅を編集するには、次を理解することができます

リンクリンク

リストのデフォルトのポイント最初のフィールド編集ページを入力して、我々は他のフィールドを追加したい場合は、また、編集ページにクリックすることができ、=(「タイトル」、「体」)list_display_linksを設定

class ControlArticle(admin.ModelAdmin):
    # 显示的字段 list_display = ('title', 'body', 'auth', 'create_time', 'update_time') # 搜索条件 search_fields = ('title',) # 按字段排序 -表示降序 ordering = ('-create_time',) # 每页显示10条 list_per_page = 10 # 可编辑字段 list_editable = ('auth',) # 设置哪些字段可以点击进入编辑界面 list_display_links = ('title', 'body') # 注册Article表 admin.site.register(models.Article, ControlArticle)

この点は、編集ページのタイトルとテキストを入力することができます

フィルタ

あなたが迅速かつ容易にテキストの対応する著者を検索したい場合は、そのようlist_filter =(「認証」、「タイトル」)を設定すると、右ページにリストを表示するフィルタを追加することができます

class ControlArticle(admin.ModelAdmin):
    # 显示的字段 list_display = ('title', 'body', 'auth', 'create_time', 'update_time') # 搜索条件 search_fields = ('title',) # 按字段排序 -表示降序 ordering = ('-create_time',) # 每页显示10条 list_per_page = 10 # 可编辑字段 list_editable = ('auth',) # 设置哪些字段可以点击进入编辑界面 list_display_links = ('title', 'body') # 过滤器 list_filter = ('auth', 'title') # 注册Article表 admin.site.register(models.Article, ControlArticle)

显示效果如下,点右侧作者名称,快速找到相关内容

按时间分层

date_hierarchy参数默认为None,设置一个时间字段,可以按时间分层删选

class ControlArticle(admin.ModelAdmin):
    # 显示的字段 list_display = ('title', 'body', 'auth', 'create_time', 'update_time') # 搜索条件 search_fields = ('title',) # 按字段排序 -表示降序 ordering = ('-create_time',) # 每页显示10条 list_per_page = 10 # 可编辑字段 list_editable = ('auth',) # 设置哪些字段可以点击进入编辑界面 list_display_links = ('title', 'body') # 过滤器 list_filter = ('auth', 'title') # 时间分层 date_hierarchy = 'create_time' # 注册Article表 admin.site.register(models.Article, ControlArticle)

おすすめ

転載: www.cnblogs.com/mashuqi/p/10984995.html