作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让一个带有通用外键的模型 (Prereq) 出现在 MyModel 的管理员中。
模型.py:
class MyModel(models.Model):
name = models.CharField(max_length=50, unique=True)
#etc
class Prereq(models.Model):
parent_content_type = models.ForeignKey(ContentType, related_name='prereq_parent')
parent_object_id = models.PositiveIntegerField()
parent_object = GenericForeignKey("parent_content_type", "parent_object_id")
prereq_content_type = models.ForeignKey(ContentType, related_name='prereq_item')
prereq_object_id = models.PositiveIntegerField()
prereq_object = GenericForeignKey("prereq_content_type", "prereq_object_id")
prereq_invert = models.BooleanField(default=False, help_text = 'parent is available if user does NOT have this pre-requisite')
or_prereq_content_type = models.ForeignKey(ContentType, related_name='or_prereq_item', blank=True, null=True)
or_prereq_object_id = models.PositiveIntegerField(blank=True, null=True)
or_prereq_object = GenericForeignKey("or_prereq_content_type", "or_prereq_object_id")
or_prereq_invert = models.BooleanField(default=False, help_text = 'parent is available if user does NOT have this pre-requisite')`
class PrereqInline(GenericTabularInline):
model = Prereq
fk_name = "prereq_parent" #tried "parent_object" also
class MyModelAdmin(admin.ModelAdmin):
list_display = ('name', ...etc)
inlines = [
PrereqInline,
]
admin.site.register(MyModel, MyModelAdmin)
<class 'my_app.admin.PrereqInline'>: (admin.E302) 'ct_field' references 'content_type', which is not a field on 'my_app.Prereq'.
最佳答案
弄清楚了:
GenericTabularInline需要添加 ct_field
和 ct_fk_field
因为这些字段没有使用默认名称 content_type
和 object_id
分别
class PrereqInline(GenericTabularInline):
model = Prereq
ct_field = "parent_content_type"
ct_fk_field = "parent_object_id"
fk_name = "parent_object"
关于Django GenericTabularInline : (admin. E302) 'ct_field' 引用 'content_type' ,这不是一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32291170/
我试图让一个带有通用外键的模型 (Prereq) 出现在 MyModel 的管理员中。 模型.py: class MyModel(models.Model): name = models.Ch
我是一名优秀的程序员,十分优秀!