Django:使用contenttypes框架的一般关系示例?

我已经仔细研究了有关内容类型框架的Django文档,而我只是不太了解它,无法在我的项目中实现泛型关系。我一直在寻找有关此事的在线示例或教程,但找不到一个。称我为哑巴,但在这方面我需要一些帮助(请不要仅通过链接到文档来回答问题)。基于在线资源的缺乏,我相信如果您用一个完整的例子来回答这个问题,您的答案可能是迄今为止有关django通用关系(奖金!)的最有用的例子。

因此,我的问题是:有人可以显示模型的简单示例,也可以显示几行代码来显示如何与通用模型的实例进行交互吗?


作为启发,我相信这是一种非常常见的情况:

一个站点的媒体项目在很大程度上被相同,但略有不同。例如,假设有图像和视频项目,并且用户可以“喜欢”项目或对项目进行“评论”。点赞和评论,无论它们张贴在图像还是视频项目上,都应视为相同。因此,如果有一个ItemView用于查看用户相册中的图像或视频,则可以进行以下类型的调用:mediaitem.comments.all()len(mediaitem.likes.all())comment.user_who_commented,而不必知道它是哪种媒体项目(图像或视频)。

我相信您将需要以下六个模型

  • 抽象MediaItem

  • 两种不同类型的媒体项目:ImageItemVideoItem

  • 抽象MediaItemActions

  • 可以对媒体项目执行的两种不同类型的操作:LikeComment


如果您知道如何使用此Django功能,请向我们展示完整的示例!我觉得这将是一个非常强大的工具,并且渴望在我的应用程序中使用它。越明确,越好。


慕少森
浏览 181回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python