文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
编辑页选项
编辑页选项
显示字段顺序
- 属性如下
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论