【发布时间】:2021-12-25 11:22:43
【问题描述】:
问题不是真实的
如何为 TabularInline 创建来自字段作者的链接?现在我实现了这个(来源:https://stackoverflow.com/a/10011307/9112151):
class Post(models.Model):
title = models.CharField(max_lenght=100)
author = models.ForeignKey('User', on_delete=models.CASCADE)
def add_link_field(target_model = None, field = '', link_text = unicode):
def add_link(cls):
reverse_name = target_model or cls.model.__name__.lower()
def link(self, instance):
app_name = instance._meta.app_label
reverse_path = "admin:%s_%s_change" % (app_name, reverse_name)
link_obj = getattr(instance, field, None) or instance
url = reverse(reverse_path, args = (link_obj.id,))
return mark_safe("<a href='%s'>%s</a>" % (url, link_text(link_obj)))
link.allow_tags = True
link.short_description = reverse_name + ' link'
cls.link = link
cls.readonly_fields = list(getattr(cls, 'readonly_fields', [])) + ['link']
return cls
return add_link
@add_link_field('author')
class PostInline(admin.TabularInline):
model = Post
也许有内置的决定?
【问题讨论】:
标签: django django-admin