假设我有两个模型,位于不同的应用程序中。应用程序 2 知道应用程序 1,但应用程序 1 不知道应用程序 2:
# one/models.py
from django.db import models
class One(models.Model):
pass
# two/models.py
from django.db import models
from one.models import One
class Two(models.Model):
one = models.ForeignKey(One)
我还在管理站点中注册了 One
:
# one/admin.py
from django.contrib import admin
from .models import One
admin.site.register(One)
如何在 One
的管理页面上将 Two
注册为内联,而不在两个应用之间引入循环依赖关系?
最佳答案
您可以非常简单地完成此操作,只要您不介意访问 ModelAdmin
上的“私有(private)”属性即可。 (按照惯例,以下划线开头的属性被视为私有(private)属性。)
# two/admin.py
from django.contrib import admin
from one.models import One
from .models import Two
class TwoInline(admin.StackedInline):
model = Two
admin.site._registry[One].inlines.append(TwoInline)
关于django - 如何将内联添加到另一个应用程序的 ModelAdmin,而不产生循环依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32590901/