首页 > 其他 > 详细

admin

时间:2019-09-07 18:04:19      阅读:81      评论:0      收藏:0      [点我收藏+]

模型类的外键关联
技术分享图片

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

admin

原文:https://www.cnblogs.com/0916m/p/11481936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!