无法在 django 1.8.4 中使用 GenericForeignKey
Posted
技术标签:
【中文标题】无法在 django 1.8.4 中使用 GenericForeignKey【英文标题】:Cant use GenericForeignKey in django 1.8.4 【发布时间】:2016-10-11 10:47:39 【问题描述】:我有以下型号
class Book:
title = model.CharField(.........
class Article:
title = model.CharField(.........
class Rating:
content_type =models.ForeignKey(ContentType, blank=True, null=True)
object_id = models.PositiveIntegerField()
node = GenericForeignKey('content_type', 'object_id')
其中 Rating 可以包含书籍或文章。 我希望 django 管理员显示一个表单来编辑评分,并为用户提供一个选择字段来选择是否要添加文章或新闻而不是 content-type 或 object-id strong>,因此用户可以以单一形式添加书籍或文章。我尝试使用 GenericTabularInline 但我希望用户(管理员)有一个选择字段来选择他是否想添加文章或书籍,并且相应地表单应该改变。 提前致谢。
【问题讨论】:
【参考方案1】:是的,您可以使用。但只是进口- 从 django.contrib.contenttypes 导入通用 然后代替 node = GenericForeignKey('content_type', 'object_id') 使用 node = generic.GenericForeignKey('content_type', 'object_id')
【讨论】:
请重新格式化您的问题。将代码放入代码块中。以上是关于无法在 django 1.8.4 中使用 GenericForeignKey的主要内容,如果未能解决你的问题,请参考以下文章
直系同源基因(orthologous gene)和旁系同源基因(paralogous gene)