Django 内容类型问题——人是个白痴——可以';t弄清楚如何将原始模型绑定到抽象的ContentType';最爱';模型

Django 内容类型问题——人是个白痴——可以';t弄清楚如何将原始模型绑定到抽象的ContentType';最爱';模型,django,models,contenttype,Django,Models,Contenttype,最初从这里开始: 我的网站上有很多应用程序,目前正在使用一个简单的“博客”应用程序。我开发了一个“Favorite”应用程序,非常简单,它利用Django中的ContentType框架,允许我拥有任何类型的“Favorite”。。。然而,我不知道自己在做什么,也找不到任何例子 我将从最喜欢的模型开始: 收藏夹/models.py 现在,这允许我循环浏览收藏夹(例如,在用户的“收藏夹”页面上),并通过{{favorite.content_object.title}获取相关的博客对象 我现在想要的,

最初从这里开始:

我的网站上有很多应用程序,目前正在使用一个简单的“博客”应用程序。我开发了一个“Favorite”应用程序,非常简单,它利用Django中的ContentType框架,允许我拥有任何类型的“Favorite”。。。然而,我不知道自己在做什么,也找不到任何例子

我将从最喜欢的模型开始:

收藏夹/models.py 现在,这允许我循环浏览收藏夹(例如,在用户的“收藏夹”页面上),并通过{{favorite.content_object.title}获取相关的博客对象

我现在想要的,但我不明白的是,我需要对博客模型做些什么,以允许我与收藏夹有一些关联(例如,当它显示在列表中时,它可以高亮显示)

以下是博客模型:

blog/models.py
有什么指导吗

上面的django文档在这里:。基本上,在博客模型本身上,您可以添加一个
generirelation

class Blog(models.Model):
    favorites = generic.GenericRelation(Favorite)
对于给定的博客,您可以找到所有与之相关的
最喜爱的
模型

b = Blog.objects.get(slug='hello-world-blog-slug')
all_blog_favorites = b.favorites.objects.all()
或者查看当前用户是否喜欢该博客

user_has_blog_favorited = b.favorites.objects.filter(user=request.user).exists()

这不是你要问的,但是有很多
AutoSlugField
s,这将消除所有保存代码的需要。第一位完全阻止了我的错误。显然,我混淆了哪些部分去了哪里,并将“generic.genericrations”键入“models.genericrations”。称我为dumb,但我不知道您提供的第二个和第三个代码块放在哪里。其他代码块显示了泛型关系API的使用方式,很可能是在视图中(或者如果是常见查询,则是博客本身的一个方法)
b = Blog.objects.get(slug='hello-world-blog-slug')
all_blog_favorites = b.favorites.objects.all()
user_has_blog_favorited = b.favorites.objects.filter(user=request.user).exists()