0

我是 Django 和 DB 菜鸟,但我正在开发一个既有博客又有文章的网站。它们在各自领域的管理员中实例化,基本上我FeaturedPost在 model.py 中有一个类“”,其中一个属性“内容”我希望能够从可用的博客或文章中选择。

我知道如果我想将内容映射到博客,我会做一个

models.ForeignKey(Blogs, related_name="w/e")

但是我如何抽象它以便我可以从两种内容类型中进行选择?GenericForeignKey会有帮助吗?

如果在这种情况下有任何帮助,我正在使用 Fein-CMS。

4

1 回答 1

0

没错,GenericForeignKey就是你需要的。IE

from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType

class FeaturedPost(models.Model):
    ...
    content_type = models.ForeignKey(ContentType)
    content_object_id = models.PositiveIntegerField()
    content = GenericForeignKey('content_type', 'content_object_id')

要在管理员中编辑这些,您需要使用通用内联

于 2014-06-17T22:24:21.330 回答