我有一个名为news的django模型和另一个名为tag的django模型,它们之间存在多对多的关系。但是当我想通过几个标签来过滤我的新闻模型时,我需要做链过滤,当我试图通过一个标签列表来过滤新闻时,它是没有用的。还有别的办法吗?
这是我的models.py文件:
from django.db import models
# Create your models here.
class tag(models.Model):
tag_name = models.CharField(max_length=200)
def __str__(self):
return self.tag_name
class news(models.Model):
title = models.CharField(max_length=200)
text = models.TextField()
tags = models.ManyToManyField(tag)
source = models.URLField()
def __str__(self):
return self.title
字符串
这是我用来过滤新闻的方法:
>>> news.objects.filter(tags__tag_name='tech').filter(tags__tag_name='politic')
型
而不是这样,我想做这样的事情:
>>> news.objects.filter(tags__tag_name__contains=['tech', 'plitics'])
型
而且我不得不提到,我正在使用sqlite数据库,我不能改变我的数据库。
1条答案
按热度按时间6ju8rftf1#
字符串