gpt4 book ai didi

django - 如何将行号添加到 tabularinline block 的每一行

转载 作者:行者123 更新时间:2023-12-02 06:59:42 28 4
gpt4 key购买 nike

我有一个内联类型为 TabularInline 的 ModelAdmin 类。我想要的是 TabularInline 的每一行在其左侧显示一个行号。这个数字会随着新记录添加到内联中而增加,并会在编辑表单时显示。

我希望行号不是内联数据模型的一部分,而是在每次将新记录添加到内联 block 或由内联 block 显示时生成。我不需要将这个号码保存在数据库中。仅供 ModelAdmin 类中的其他字段引用。

我是 django 的新手,我似乎无法弄清楚如何做到这一点。

任何建议将不胜感激。

问候,瑞克

最佳答案

您可以通过管理类使用类变量和返回行号的方法轻松地对现有内联进行编号:

class MyInlineAdmin(admin.TabularInline):
line_numbering = 0
fields = ('line_number', 'other_field')
readonly_fields = ('line_number',)

def line_number(self, obj):
self.line_numbering += 1
return self.line_numbering

line_number.short_description = '#'

这将按照它们出现的顺序对任何内联进行编号,包括包含的任何额外(空白)内联。如果您通过“添加另一个”链接添加单个内联,它的行号将是正确的(从最后一个增加一个),但是如果您通过该链接添加多个内联,后续行仍将具有相同的行编号作为最后一个。

不完美,但总比没有好。

关于django - 如何将行号添加到 tabularinline block 的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23412602/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com