链接到django admin到外键对象 [英] Link in django admin to foreign key object

查看:1062
本文介绍了链接到django admin到外键对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个模型A,一个外键为模型B.
在Django管理员中,我如何添加一个链接在模型A的管理页面旁边打开模型的管理页面的ForeignKey字段旁边B?

解决方案

您可以执行以下操作:



py(示例):

 模型B(models.Model):
name = models.CharField(max_length = 20 )

模型A(models.Model):
field1 = models.CharField(max_length = 20)
Bkey = models.ForeignKey(B)

admin.py

  from django.core import urlresolvers 

class AAdmin(admin.ModelAdmin):
list_display = [field1,link_to_B]
def link_to_B(self,obj):
link = urlresolvers.reverse(admin:yourapp_b_change,args = [obj.B.id])#model name必须为小写
return u'< a href =%s>% s< / a>'%(link,obj.B.name)
link_to_B.allow_tags = True

将yourapp替换为您的应用程序的名称。


I have a model A with a ForeignKey to a model B. In Django admin, how can I add a link in the admin page of model A next to the ForeignKey field which open the admin page of the model B ?

解决方案

You can do the following:

models.py (example):

model B(models.Model):
    name = models.CharField(max_length=20)

model A(models.Model):
    field1 = models.CharField(max_length=20)
    Bkey = models.ForeignKey(B)

admin.py

from django.core import urlresolvers

class AAdmin(admin.ModelAdmin):
    list_display = ["field1","link_to_B"]
    def link_to_B(self, obj):
        link=urlresolvers.reverse("admin:yourapp_b_change", args=[obj.B.id]) #model name has to be lowercase
        return u'<a href="%s">%s</a>' % (link,obj.B.name)
    link_to_B.allow_tags=True

Replace yourapp with the name of your app.

这篇关于链接到django admin到外键对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆