Django管理员内联深层关系 [英] Django admin inline for deep relation

查看:101
本文介绍了Django管理员内联深层关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

内联直接关系很容易,但是如何建立内联以建立更深层的关系呢?

It's quite easy to have inline for direct relation, but how can I create inline for deeper relations?

比方说

class A(models.Model):
     ...

class B(models.Model):
     a = models.ForeignKey(A)

class C(models.Model):
     b = models.ForeignKey(B)

现在我想拥有的是内嵌在 A 的管理员列表中,它将显示所有 C 和相应的 B 名称。我该怎么做?

Now what I'd like to have is inline in admin for A which will show all of it's Cs with corresponding B name. How do I do that?

推荐答案

看看 django-nested-inlines 。例如:

from django.contrib import admin
from nested_inlines.admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline
from models import A, B, C

class MyNestedInline(NestedTabularInline):
    model = C

class MyInline(NestedStackedInline):
    model = B
    inlines = [MyNestedInline,]

class MyAdmin(NestedModelAdmin):
    pass

admin.site.register(A, MyAdmin)

这篇关于Django管理员内联深层关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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