如何与清单

问题描述:

过滤Django的Python对象,我有以下Django模型如何与清单

class Article(models.Model): 
article_tags = models.CharField(max_length=200, blank=True, null=True) 

class UserProfile(models.Model): 
user_interests = models.CharField(max_length=200, blank=True, null=True) 

我有我的用户进纸功能,想筛选基于user_interests文章。

例如,我有一个user_interests = ['horror','comedy','fiction']的用户。

而且我有article_tags这也是列出= [“有趣”,“喜剧”,“纽约”]

我想通过自己的user_interests所有的article_tags比较筛选我的用户的Feed文章文章。

我试过这样:

user_interested_articles = Article.objects.filter(case_tags__in = 
user_interests) 

但它不工作,我相信这是因为我想要比较的清单列表。有没有另一种方法来做到这一点?

你可以规范你的模型,并创建一个新的模型标签。 (ManyToMany到用户配置和第

然后你就可以查询类似:

Article.objects.filter(case_tags__in =user.user_interests)

希望这有助于

你不应该存储在一个char场名单 - 或这些都是标签,应该存储在一个单独的模型中,您可以使用像这样的应用,如django-taggit