Django管理员变更列表-链接到相关模型变更页面

时间:2019-05-20 11:28:48

标签: python django django-2.1

是否有内置的方法告诉Django显示到changelist中相关模型的链接?

如果我们有模型SchoolStudent,我想在School变更列表中显示Student作为指向School对象变更页面的链接。

我可以采用这种旧方法:

class StudentAdmin(..):
    list_display = [...,'school',...]

    def school(..):
        return mark_safe(..link..)

有内置的方法吗?像这样:

class StudentAdmin(..):
    ...
    related_change_links = ['school']

2 个答案:

答案 0 :(得分:0)

如果您想要一些自定义的东西,我相信这是最 pythonic 的方法。否则,我认为this应该可以解决您的问题。

Set rng = Sheets("TEMP").Range(Sheets("TEMP").Cells(1, 1), Sheets("TEMP").Cells(last_row, last_col)).SpecialCells(xlCellTypeVisible)

'alternate
with Sheets("TEMP")
    Set rng = .Range(.Cells(1, 1), .Cells(last_row, last_col)).SpecialCells(xlCellTypeVisible)
end with

答案 1 :(得分:0)

不,没有内置的方式。如您在问题中所显示的,为此定义自己的只读字段是正确的方法。

如果要在许多地方使用它,可以尝试子类ModelAdmin来添加自己的related_change_links属性。这将需要重写__init__函数以将字段添加到read_only_fields并重写__getattr__以动态创建这些字段的getter。