django在Admin中为外键创建链接
我使用的是django1.9 我有一个模型有一个外国的django在Admin中为外键创建链接,django,Django,我使用的是django1.9 我有一个模型有一个外国的 class Foo(models.Model): bar = models.ForeignKey(Bar) class Bar(models.Model): name = models.CharField(max_length=50) 这是我的FooAdmin: class FooAdmin(admin.ModelAdmin): list_display = ['bar'] def def related_bar(se
class Foo(models.Model):
bar = models.ForeignKey(Bar)
class Bar(models.Model):
name = models.CharField(max_length=50)
这是我的FooAdmin:
class FooAdmin(admin.ModelAdmin):
list_display = ['bar']
def def related_bar(self, obj):
link = urlresolvers.reverse("admin:foo_foos", args=[obj.bar.id])
return u'<a href="%s">%s</a>' % (link, obj.bar.id)
related_bar.short_description = 'bar'
我肯定错过了一些东西,但我发现了。那么,在django做这件事的最佳方式是什么呢?我试图在文档中搜索,但找不到关于此问题的相关方法。首先,您试图获取
条形图
显示列表,但您正在解析foo\u foos
而不是foo\u bar。此外,您缺少\u change
后缀,以表明您需要管理员详细信息视图
def related_bar(self, obj):
link = urlresolvers.reverse("admin:foo_bar_change", args=[obj.bar.id])
return u'<a href="%s">%s</a>' % (link, obj.bar.id)
首先,您试图获取
bar
显示列表,但您正在解析foo\u foos
而不是foo\u bar。此外,您缺少\u change
后缀,以表明您需要管理员详细信息视图
def related_bar(self, obj):
link = urlresolvers.reverse("admin:foo_bar_change", args=[obj.bar.id])
return u'<a href="%s">%s</a>' % (link, obj.bar.id)
Page URL name Parameters
Changelist {{ app_label }}_{{ model_name }}_changelist
Add {{ app_label }}_{{ model_name }}_add
History {{ app_label }}_{{ model_name }}_history object_id
Delete {{ app_label }}_{{ model_name }}_delete object_id
Change {{ app_label }}_{{ model_name }}_change object_id