【发布时间】:2017-03-23 07:18:58
【问题描述】:
这是一个帖子模型,当我在 django admin 中打开它以添加帖子时,我看到一个字段内容类型,但不存在用于选择内容类型的下拉菜单。我在这里做错了吗?
class Post(models.Model):
FEATURE_LIMITS = models.Q(app_label=u'forums', model=u'forum')
content_type = models.ForeignKey(ContentType, limit_choices_to=FEATURE_LIMITS, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
admin.py 用于帖子
# imports
admin.site.register(posts_models.Post)
有一个模型论坛,它与帖子有一个通用的关系。
class Forum(models.Model):
# other fields
posts = GenericRelation(Post)
post 字段在 django admin 上不可见(其他字段可见)。
admin.py 用于论坛
# imports
admin.site.register(forums_models.Forum)
如果我对 admin.py 进行更改:
class PostInline(GenericTabularInline):
model = Post
class ForumAdmin(admin.ModelAdmin):
inlines = [
PostInline,
]
admin.site.register(forums_models.Forum, ForumAdmin)
然后点击http://localhost:8000/admin/forums/forum/add/,页面将永远加载。
【问题讨论】:
-
但是为什么只需要为一个模型创建通用关系呢?泛型关系对那些东西没有效率..
-
我希望将来肯定会添加更多模型。