我的模型.py
class PagePlaceholder(models.Model):
content_type = models.ForeignKey()
object_id = models.PositiveIntegerField()
display_content = generic.GenericForeignKey('content_type', 'object_id')
class Page(models.Model):
page_name = models.CharField(max_length=1000,default="sample_page")
placeholder = models.ManyToManyField('PagePlaceholder')
占位符可以通过通用外键关系引用 4 个类中的任何一个。page 与占位符有 many2many 关系,表示一个页面可以包含一堆不同的模型。
和我的 admin.py 相同。
class PagePlaceholderAdmin(admin.ModelAdmin):
pass
class PageInline(GenericStackedInline):
model = PagePlaceholder
class PageAdmin(admin.ModelAdmin):
inlines = [PageInline,]
现在我想要的是在页面管理视图中,显示用于编辑 pageplaceholder 的显示内容对象的表单。试图获得该内联给我一个错误,说该对象不是一个类。admin.py 是否有一个不错的解决方案,或者我是否有必要创建一个新表单并查看以正确显示这些模型表单?