[英]Django filtering by multiple tags in many to many ORM object
我有三個模型。 Query
、 QueryStringTag
標簽和Tag
。 這些模型是我構建的標簽雲的一部分。 一個Query
可以有多個Tag
,一個Tag
可以有多個Query
。 Tag
和Query
模型具有連接QueryStringTag
模型的外鍵,該模型包含有關查詢如何與標簽關聯的所有信息,反之亦然。
這是我的模型...
class Tag(models.Model):
name = models.CharField(max_length=101)
use_count = models.IntegerField(default=1)
class QueryStringTag(models.Model):
tag = models.ForeignKey(Tag, related_name='qstag')
querystring = models.ForeignKey(QueryString, related_name='qsquerystring')
class QueryString(BaseObject):
"""
Query string holds an SQL statement and query properties for execution
"""
server_id = models.IntegerField()
schema = models.CharField(max_length=255, blank=True)
archived = models.BooleanField(default=False)
query = models.CharField(max_length=60000)
variables = models.TextField(blank=True)
created_by = models.ForeignKey(User, related_name='queries_created')
updated_by = models.ForeignKey(User, related_name='queries_last_edited')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField()
touched_by = models.CharField(max_length=1000)
config = models.TextField(blank=True)
runs_started = models.IntegerField(default=0)
runs_completed = models.IntegerField(default=0)
runs_completed_duration = models.IntegerField(default=0) # total number of seconds spent running this query to completion
formats = "pretty_html html json prettyjson csv excel tableau".split()
我目前已經設置好了,所以用戶點擊標簽雲中任何給定數量的標簽,標簽主鍵數組被發送到我的 django 視圖,看起來像這樣: ['12', '14', '15']
我需要使用 Django ORM 來檢索與用戶單擊的所有標簽相關聯的所有查詢。 因此,如果用戶點擊標簽“用戶”、“游戲”和“卡車”,它應該只帶回與用戶點擊的所有標簽相關聯的查詢。 這是AND
關系,而不是OR
關系。 意思是“Query1”將與“12”、“14”和“15”相關聯。
正確的語法是什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.