将反向OneToOne相关模型添加到Django管理面板

时间:2019-04-12 09:13:24

标签: python django

我有两个相关模型

class Profile(models.model):
        user = models.OneToOneField(User, related_name = 'profile', null=True)

    class User(AbstractUser):
        #fields

对于配置文件 admin.py 来说,

class ProfileAdmin(admin.ModelAdmin):
        #prepopulated_fields = {"slug": ("profile.last_name",)}
        list_display = ('id', 'get_trainer_name', 'add_date', 'city', 'is_active', 'pause')
        inlines = [PortfolioImageInline,
                   OrderInline,
                   ]
        list_display_links = ['id', 'get_trainer_name']
        save_on_top = True
        list_filter = ['is_active']

        def get_trainer_name(self, obj):
            return obj.user.get_full_name()

admin.site.register(Profile, ProfileAdmin)

我知道只能将OneToOneField的一侧设置为嵌入式模型。这意味着我可以毫无问题地将配置文件添加到用户管理视图。但是我需要反向查看-如 ProfileAdmin 内联中的 Orderinline PortfolioInline

有什么办法可以避免这种限制,这样我就不必更改数据库架构了?

0 个答案:

没有答案