我有一个 ModelAdmin 类,其内联类型为 TabularInline。我希望 TabularInline 的每一行在其左侧显示一个行号。随着新记录添加到内联中,该数字会增加,并且会在编辑表单时显示。
我更喜欢行号不是内联数据模型的一部分,而是每次将新记录添加到内联块或由内联块显示时生成行号。我不需要将此号码保留在数据库中。它仅供参考 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 = '#'
这将按照任何内联出现的顺序对它们进行编号,包括任何额外的(空白)内联。如果您通过“添加另一个”链接添加单个内联,则其行号将是正确的(从最后一个增加 1),但是如果您通过链接添加多个内联,后续行仍将具有相同的行编号为最后一个。
并不完美,但总比没有好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)