在Django Admin中将App中的两个模型链接在一起

时间:2015-06-25 22:35:32

标签: django django-models django-admin

我想知道是否除了在模型中使用内联实际创建指向相关模型的链接

之外
class A():
   var1 = 
   var2 =

class B():
   var1 = models.ManyToManyField(A)
   var2 =
   var3=

admin.py:

class BInline(admin.TabularInline):
  model = B
  def

class AAdmin(admin.ModelAdmin):
  inlines = BInline

在管理员中他们与直通内联相关;但是我实际上想要链接到模型A中的模型B,反之亦然,因为现在我唯一能做的就是通过名称将新的B添加到A或反之亦然但是我无法编辑B中的其他变量甲

我希望通过允许从A直接访问B来简化管理页面中模型管理的过渡。

我尝试创建了一个管理链接,但它显示为BInline指定的未知字段(admin_link)

def admin_link(self, instance):
    url = reverse('admin:%s_%s_change' % (instance._meta.app_label, instance._meta.module_name), args=[instance.id])
    return mark_safe(u'<a href="{u}">Edit</a>'.format(u=url))
    fields = ('choice_text','votes','admin_link')

1 个答案:

答案 0 :(得分:0)

如何创建C类 类似的东西:

class C(A, B):
    var1 = 
    var2 = ....

在管理页面中,您可以访问两个模型的所有字段