【发布时间】:2021-11-22 02:10:58
【问题描述】:
所以我有两个模型:
class Tag(models.Model):
name = models.CharField(max_length=15)
def __str__(self):
return str(self.name)
和
class BlogPost(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
author = models.CharField(max_length=255)
tags = models.ManyToManyField(Tag)
body = models.TextField(blank=True, null=True)
snippet = models.TextField(max_length=255)
status = models.CharField(
max_length=10, choices=STATUS_CHOICES, default='draft')
created_on = models.DateTimeField(auto_now_add=True)
updated_on = models.DateTimeField(auto_now=True)
class Meta:
ordering = ('-created_on',)
def __str__(self):
return str(self.title)
我正在尝试获取已在任何 BlogPost 模型对象中使用的标签列表,即 如果数据库中存储的标签是['movie','entertainment','games','documentary']
BlogPost A 具有 m2m 关系的标签:['movie','documentary'],BlogPost B 具有 m2m 关系的标签:['games']
然后我想获取已在任何对象 BlogPost 模型中使用的标签列表,如 ['movie','documentary','games']。
我找不到这个问题的答案。有没有办法查询这个问题?
【问题讨论】:
标签: python django django-models many-to-many relationship