编辑页选项

进入编辑页面

字段顺序

  • 根据列表顺序指定编辑界面字段顺序

      fields = ['字段1', '字段2', ...]
    
      class AreaAdmin(admin.ModelAdmin):
          # 显示字段顺序
          fields = ['parent', 'name']
    
  • 浏览效果

字段分组

  • 字段分组fieldsets与字段顺序fields二选一使用
  • 对字段进行分组管理,有如下两种写法

      fieldsets = (
          ('组1标题', {'fields':('字段1', '字段2')}),
          ('组2标题', {'fields':('字段3', '字段4')}),
      )
    
      fieldsets = [
          ('组1标题', {'fields':['字段1', '字段2']}),
          ('组2标题', {'fields':['字段3', '字段4']}),
      ]
    
      class AreaAdmin(admin.ModelAdmin):
          # 字段分组:与fields二选一使用
          fieldsets = [
              ('基本', {'fields':['name']}),
              ('高级', {'fields':['parent']}),
          ]
    
  • 浏览效果

关联对象

  • 在一对多的关系中,可以在一端的编辑页面中编辑多端的对象
    • 嵌入多端对象的方式包括表格、块两种
  • 类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑
    • 子类StackedInline:以块的形式嵌入
    • 子类TabularInline:以表格的形式嵌入
  • admin.py文件中,创建AreaStackedInline类,继承自admin.StackedInline

      class AreaStackedInline(admin.StackedInline):
          model = AreaInfo #关联子对象
          extra = 2 #额外编辑2个子对象
    
      class AreaAdmin(admin.ModelAdmin):
          # 嵌入关联子对象
          inlines = [AreaStackedInline]
    
  • 浏览效果:以块形式嵌入

  • 浏览效果:以列表形式嵌入