如何在django的admin中注册manytomanyfield?
我的模型如下所示:如何在django的admin中注册manytomanyfield?,django,django-admin,django-models,Django,Django Admin,Django Models,我的模型如下所示: class Search(models.Model): user = models.ForeignKey(User) regions = models.ManyToManyField(Region) class Region(models.Model): name = models.CharField(max_length=100") 在我的管理员中,当我注册搜索模型和区域模型时, 我想在搜索模型中查看用户数据,在区域模型中查看搜索和用户数据。 在
class Search(models.Model):
user = models.ForeignKey(User)
regions = models.ManyToManyField(Region)
class Region(models.Model):
name = models.CharField(max_length=100")
在我的管理员
中,当我注册搜索模型
和区域模型
时,
我想在搜索模型中查看用户数据
,在区域模型中查看搜索和用户数据
。
在管理员的列表\u显示
和内联线
。由于一个是外键
,另一个是ManytoManyField
,因此我不清楚如何使其工作。
我们将非常感谢您的帮助
谢谢您将无法轻松获得区域管理屏幕内联显示的用户数据。下面是一个不错的起点
from django.contrib import admin
from django.contrib.auth.models import User
from .models import Search, Region
class UserInline(admin.TabularInline):
model = User
class SearchAdmin(admin.ModelAdmin):
inlines = [
UserInline,
]
class SearchInline(admin.TabularInline):
model = Search
class SearchRegionsInline(admin.TabularInline):
model = Search.regions.through
class RegionAdmin(admin.ModelAdmin):
inlines = [
SearchRegionsInline,
SearchInline,
]
如果设置了从区域管理屏幕编辑用户信息,则需要为SearchInline
创建一个自定义表单,使其具有user
模型中的字段,然后在传入实例时填充\uuuu init\uuuu
中的值 不幸的是,django不支持这种行为。我不相信,但我可能错了。当我第一次开始的时候,我也试着做到这一点,但没有注意到发行说明中有任何更新。不过我会仔细研究一下,看看能不能帮你找到一种破解方法。