<p>github上有一个django模块可以为您完成此操作,而不必反转关系:<a href="https://github.com/anziem/django_reverse_admin" rel="nofollow">django_reverse_admin</a>。在</p>
<p>一旦安装,您的管理员将如下所示:</p>
<pre><code># admin.py
from django_reverse_admin import ReverseModelAdmin
class SpecializedProfileAdmin(ReverseModelAdmin):
model = SpecializedProfile
inline_reverse = ['profile']
inline_type = 'tabular' # could also be 'stacked'
admin.site.register(SpecializedProfile, SpecializedProfileAdmin)
</code></pre>
<p>不幸的是,我不认为它可以实现嵌套内联(Django也不能),所以这只能解决部分问题。我知道您不想更改数据库结构,但SpecializedProfile看起来更像是UserProfile的一个子类。如果您像这样重写模型:</p>
^{2}$
<p>然后你可以让管理员这样:</p>
<pre><code># admin.py
from django_reverse_admin import ReverseModelAdmin
class UserProfileAdmin(ReverseModelAdmin):
model = UserProfile
inline_reverse = ['user_auth']
inline_type = 'tabular'
class SpecializedProfileAdmin(ReverseModelAdmin):
model = SpecializedProfile
inline_reverse = ['user_auth']
inline_type = 'tabular'
admin.site.register(SpecializedProfile, SpecializedProfileAdmin)
admin.site.register(UserProfile, UserProfileAdmin)
</code></pre>
<p>这样,您就可以内联地查看UserProfile和SpecializedProfile的所有内容。在</p>