如何在管理表单中显示模型的外键字段
How to show a foreign key field of a model in admin form
在 models.py 我创建了两个模型
class Tutor(models.Model):
...
class Case(models.Model):
tutor_applied = models.ManyToManyField(
Tutor,
related_name="case_set",
default=None,
blank=True,
)
在 admin.py 中,我正在尝试
class TutorAdmin(admin.ModelAdmin):
fieldsets = [
(
None,
{
"fields": [
"case_set",
]
},
)
]
这不起作用,显示此错误
Unknown field(s) (case_set) specified for Tutor. Check fields/fieldsets/exclude attributes of class TutorAdmin.
我试过也试过:
class TutorAdmin(admin.ModelAdmin):
def case_set(self):
u = self.case_set
if u is not None:
return u.case_set
fieldsets = [
(
None,
{
"fields": [
case_set,
]
},
)
]
显示此错误
sequence item 0: expected str instance, function found
如何解决此问题以显示 'case_set' 字段?
我希望在 'Tutor' 管理表单中看到类似的内容,但是 case_set
为了显示反向多对多关系,您需要显示从 m2m 字段创建的模型,它是您的案例和导师模型之间的 link:
class CaseInline(admin.TabularInline):
model = Case.tutor_applied.through
class TutorAdmin(admin.ModelAdmin):
fields = ('__all__')
inlines = [CaseInline, ]
你可以看看docs
在 models.py 我创建了两个模型
class Tutor(models.Model):
...
class Case(models.Model):
tutor_applied = models.ManyToManyField(
Tutor,
related_name="case_set",
default=None,
blank=True,
)
在 admin.py 中,我正在尝试
class TutorAdmin(admin.ModelAdmin):
fieldsets = [
(
None,
{
"fields": [
"case_set",
]
},
)
]
这不起作用,显示此错误
Unknown field(s) (case_set) specified for Tutor. Check fields/fieldsets/exclude attributes of class TutorAdmin.
我试过也试过:
class TutorAdmin(admin.ModelAdmin):
def case_set(self):
u = self.case_set
if u is not None:
return u.case_set
fieldsets = [
(
None,
{
"fields": [
case_set,
]
},
)
]
显示此错误
sequence item 0: expected str instance, function found
如何解决此问题以显示 'case_set' 字段?
我希望在 'Tutor' 管理表单中看到类似的内容,但是 case_set
为了显示反向多对多关系,您需要显示从 m2m 字段创建的模型,它是您的案例和导师模型之间的 link:
class CaseInline(admin.TabularInline):
model = Case.tutor_applied.through
class TutorAdmin(admin.ModelAdmin):
fields = ('__all__')
inlines = [CaseInline, ]
你可以看看docs