管理控制台中的表上的自定义视图

时间:2011-09-20 07:06:40

标签: python django django-models django-admin

我的Django应用程序中有一个简单的表格,如下所示:

class Setting(models.Model):
    group = models.CharField(null=False, max_length=255)
    name = models.CharField(null=False, max_length=255)
    value= models.CharField(null=False, max_length=255)

由于原因,我将数据存储为键值对。我是管理控制台,我想代表这个模型转向,即将行转置为列。我想它的行为与任何其他模特管理员一样。

例如,当保存记录时,我将迭代字段并保存它们,我将执行一个过度使用的管理器方法。当管理员尝试列出此视图中的所有行时,Id将迭代键值对并旋转它们。

关于如何实现这一目标的任何想法?

由于

1 个答案:

答案 0 :(得分:0)

简单的解决方案 - 在管理员的对象list editable中创建字段:

class SettingsAdmin(admin.ModelAdmin):
    list_display = ('group', 'name', 'value')
    list_editable = ('value',)    # Fields that will be editable
    list_display_links = ()

如果不满意,您可以使用custom template file作为更改列表视图。您需要准备一个模板文件,该文件将呈现您的数据并在ModelAdmin中设置路径:

class SettingsAdmin(admin.ModelAdmin):
    change_list_template = 'setting_change_list.html'