django嵌套的内联未显示在管理站点中

时间:2014-05-28 11:00:30

标签: django django-models modeladmin

我正在尝试使用nested_inlines并读取错误,即第三个内联未显示的错误已经修复。但我仍然遇到同样的问题。我正在使用django 1.6.5和python 2.7.5。我从https://pypi.python.org/pypi/django-nested-inlines下载的nested_inlines。

我尝试了互联网上的示例,并将'nested_inlines'放入INSTALLED_APPS,但我没有在管理网站中看到第三行。

这是我在models.py中的代码:

from django.db import models

class A(models.Model):
    name = models.CharField(max_length = 200)

class B(models.Model):
    name = models.CharField(max_length = 200)
    fk_a = models.ForeignKey('A')

class C(models.Model):
    name = models.CharField(max_length = 200)
    fk_b = models.ForeignKey('B')

admin.py:

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

class cInline (NestedStackedInline):
    model = C

class bInline(NestedStackedInline):
    model = B
    inlines = [cInline,]
    extra = 1

class aAdmin(NestedModelAdmin):
    inlines =[bInline,]

admin.site.register(A, aAdmin)

我忘记了什么?有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我相信这是一个错误。我正在研究完全相同的问题。尝试将extra添加到cInline

 class cInline (NestedStackedInline):
     model = C
     extra = 1

当没有相关模型时,似乎没有出现。

编辑:另外,请改用此代表:https://github.com/silverfix/django-nested-inlines

他们在这里推荐(在底部):https://code.djangoproject.com/ticket/9025

安装:pip install -e git+git://github.com/silverfix/django-nested-inlines.git#egg=django-nested-inlines

答案 1 :(得分:0)

最后我知道为什么它不起作用!!它并不依赖于来自soaa或silverfix的不同包。当我用pip安装它时,包装是在PythonXX / Lib / site-packages中,但不知何故django无法使用该包而不会抛出错误。因此,要么将系统路径设置为site-packages,要么将nested_inlines文件夹复制到Lib。