python - Django admin changelist - 链接到相关模型更改页面
问题描述
是否有一种内置方法可以告诉Django
在 中显示相关模型的链接changelist
?
如果我们有模型School
和Student
,我想在更改列表中显示School
为Student
指向School
对象更改页面的链接。
我可以这样做:
class StudentAdmin(..):
list_display = [...,'school',...]
def school(..):
return mark_safe(..link..)
有内置的方法吗?就像是:
class StudentAdmin(..):
...
related_change_links = ['school']
解决方案
如果你想要一些定制的东西,我相信这是最Pythonic的方式。否则,我想这应该可以解决您的问题。
from django.utils.html import format_html
def school(self, instance):
school_id = instance.school.pk
info = (School._meta.app_label, School._meta.model_name)
url = reverse('admin:{}_{}_change'.format(*info), args=(school_id,))
return format_html('<a href="{url}">{text}</a>'.format(
url=url,
text=school_id))
推荐阅读
- javascript - 另一个组件中的提交按钮创建辅助功能问题
- java - Java ZipFileSystem 在遍历时不保留物理顺序
- android - INSTALL_FAILED_INVALID_APK 次数过多
- android - Android SDK 上的 .so 库
- c++ - 如何使用带有 OR 条件的 BOOST_STATIC_ASSERT
- sql - gorm 如何确定使用哪个表?
- dictionary - 传单簇和过滤器
- sql - 使用 JOOQ 在 PostgreSQL 中以秒为单位查找和求和时间戳之间的差异
- php - PHP如何删除组中的帖子?
- python - python + opencv:如何提取未知形状的ROI并进行分析?