admin站点管理

admin中的显示

class Saltstack_GroupAdmin(admin.ModelAdmin):
    list_display = ['group_name','salt_minion_id']  # 这里需要注意的是,salt_minion_id是我们要在前端展示的内容,自己定义的
    def  salt_minion_id(self,obj):
         
#         这个方法就是用来对salt_minion_id这个字段做处理,把我们需要展示的前端内容截取出来。需要注意的是,方法名必须要和在list_display里面的一致,这样才可以调用。

         print(obj.host_target.salt_minion_id)
         return obj.host_target.salt_minion_id   # host_target是我们SaltGroup表中多对多的字段,salt_minion_id是刚才我们自定义的字段,
         salt_minion_id.short_description = "Minion's ID "     # 对salt_minion_id这个做个简短的title。

class Inline(admin.StackedInline):
    model = Setting


class MediaAdmin(admin.ModelAdmin):
    search_fields = ('name',)
    list_display = ('name', 'enable', 'user')
    inlines = (Inline,)
### 在media表中显示setting中的设置项

展示字段是外键关联对象

对于后台model的展示,在list_display中指定好展示的字段,假如字段对应的是外键字段,在后台展示中显示的是一个object对象,我们需要展示的是外键关联的模型的名字,则在外键关联的模型类下创建__str__方法,return的就是该模型类的name,假如这个模型还有外键关联的模型,就可以在return 的时候进行字符串的拼接,然后在后台中就可以看到原来显示object的地方改成了模型的名称

model管理类

创建了model的管理类,如果什么都不指定,在class下直接pass,这样在后台admin中显示的就是一个个的数据对象。要展示数据的话还是需要指定list_fileld search_field的

更改后台中的表显示名

在源类中进行指定。

    class Meta:
        db_table = 'links'
        verbose_name_plural = '后台显示的表名'
        可以指定多个字段组成唯一的字段
        unique_together = ('name','link','bank')

外键问题

外键应该是不能为空的 null=true blank=true都没用 (这是是错误的理解)
外键应该可以置空,置空就表示现在不确定,当前与之关联的表示没有关系的,有关系的采用外键,没有关系的就可以置空
--20190730

后台页面

在后台页面中可以看到最近的操作历史,一般是右侧有增删的数据历史,一般显示10条。,进入数据详情,右上方有history历史,如果在一段时间内坐过更改,那么会有历史记录

在admin中配置

    # 显示的字段
    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'

时间分层,以月为单位分类信息

posted @ 2019-09-07 17:23  π=3.1415926  阅读(166)  评论(0编辑  收藏  举报