我的模型看起来像这样:
class Search(models.Model):
user = models.ForeignKey(User)
regions = models.ManyToManyField(Region)
class Region(models.Model):
name = models.CharField(max_length=100")
在我admin
注册Search model
和Region model
时,
我希望User data
中的Search model
和search and user data
中的Region model
看到list_display
。
同时在管理员的inlines
和ForeignKey
中。由于一个是ManytoManyField
,一个是{{1}},我不清楚如何使其工作。
一些帮助将不胜感激
由于
答案 0 :(得分:0)
您无法轻松地在区域管理屏幕的内联中显示用户数据。下面是一个不错的起点。
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
模型中的字段然后,如果传入实例,则填充__init__
中的值。