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

发布于 2024-12-05 08:34:54 字数 446 浏览 0 评论 0原文

我的 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 将迭代键值对并旋转它们。

关于如何实现这一目标有什么想法吗?

谢谢

I have a simple table in my Django app that looks like:

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)

For reasons, I'm storing the data as key value pairs. I'm the administration console, I'd like to represent this Model pivoted i.e. transpose the rows to become columns. I'd like to it behave as any other model admin.

For example when record is saved, I'll be iterating over the fields and saving them which I'll do a over-ridden manager method. When the admin tries to list all the rows from this view, Id would iterating over the key-value pairs and pivoting them.

Any ideas on how to accomplish this?

Thanks

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抱着落日 2024-12-12 08:34:54

简单的解决方案 - 将管理员对象中的字段设置为 list editable

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

如果这不满意,您可以使用用于更改的自定义模板文件列表视图。您需要准备一个模板文件来渲染您的数据并在 ModelAdmin 中设置路径:

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

Simple solution - make the fields in admin's object list editable:

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

If that's not satisfactory, you can use custom template file for the change list view. You need to prepare a template file that will render your data and set the path in ModelAdmin:

class SettingsAdmin(admin.ModelAdmin):
    change_list_template = 'setting_change_list.html'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文