返回介绍

编辑页选项

发布于 2023-06-06 16:30:43 字数 5604 浏览 0 评论 0 收藏 0

编辑页选项

显示字段顺序

  • 属性如下
fields=[]
  • 点击某行ID的链接,可以转到修改页面,默认效果如下图

编辑页选项

  • 打开booktest/admin.py文件,修改AreaAdmin类如下
class AreaAdmin(admin.ModelAdmin):
    ...
    fields=['aParent','atitle']
  • 刷新浏览器效果如下图

编辑页选项

  • 在下拉列表中输出的是对象的名称,可以在模型类中定义str方法用于对象转换字符串
  • 打开booktest/models.py文件,修改AreaInfo类,添加str方法
class AreaInfo(models.Model):
    ...
    def __str__(self):
        return self.atitle.encode('utf-8')
  • 刷新浏览器效果如下图

编辑页选项

分组显示

  • 属性如下
fieldsets=(
    ('组1标题',{'fields':('字段1','字段2')}),
    ('组2标题',{'fields':('字段3','字段4')}),
)
  • 打开booktest/admin.py文件,修改AreaAdmin类如下
class AreaAdmin(admin.ModelAdmin):
    ...
    # fields=['aParent','atitle']
    fieldsets = (
        ('基本', {'fields': ['atitle']}),
        ('高级', {'fields': ['aParent']})
    )
  • 刷新浏览器效果如下图

编辑页选项

  • 说明:fields与fieldsets两者选一使用

关联对象

  • 在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种
  • 类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑
  • 子类TabularInline:以表格的形式嵌入
  • 子类StackedInline:以块的形式嵌入
  • 打开booktest/admin.py文件,创建AreaStackedInline类
class AreaStackedInline(admin.StackedInline):
    model = AreaInfo#关联子对象
    extra = 2#额外编辑2个子对象
  • 打开booktest/admin.py文件,修改AreaAdmin类如下
class AreaAdmin(admin.ModelAdmin):
    ...
    inlines = [AreaStackedInline]
  • 刷新浏览器效果如下图

编辑页选项

  • 可以用表格的形式嵌入
  • 打开booktest/admin.py文件,创建AreaTabularInline类
class AreaTabularInline(admin.TabularInline):
    model = AreaInfo#关联子对象
    extra = 2#额外编辑2个子对象
  • 打开booktest/admin.py文件,修改AreaAdmin类如下
class AreaAdmin(admin.ModelAdmin):
    ...
    inlines = [AreaTabularInline]
  • 刷新浏览器效果如下图

编辑页选项

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文