gpt4 book ai didi

Django Admin,访问反向多对多

转载 作者:行者123 更新时间:2023-12-02 07:20:05 24 4
gpt4 key购买 nike

我希望能够在 Django Admin (django.contrib.admin) 上反转多对多关系。

class Company(models.Model):
name = models.CharField(max_length=100)
status = models.BooleanField()
users = models.ManyToManyField(User, related_name='company')

现在我可以通过 Django Admin 上的 Company 查看用户,但我无法通过 User 访问公司。

访问反向关系的正确方法是什么?

最佳答案

您必须在管理页面中使用内联。

在你的 admin.py

from __future__ import unicode_literals
from django.contrib.auth.admin import UserAdmin
from django.contrib import admin
from django.contrib.auth import get_user_model
from .models import Company

User = get_user_model()

class CompanyInline(admin.TabularInline):
model = Company.users.through


@admin.register(User)
class MyUserAdmin(UserAdmin):
inlines = [CompanyInline, ]


@admin.register(Company)
class CompanyAdmin(admin.ModelAdmin):
pass

您可以在文档 here 中阅读有关此内容的更多信息

内联有多种可用选项(例如 - 堆叠/内联、折叠、额外、最小等),您可以在文档中阅读更多相关信息

关于Django Admin,访问反向多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48372252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com