У меня есть следующие модели, относящиеся к встроенным моделям Django Tag
и Site
.Учитывая Site
, каков наиболее эффективный способ запроса всех связанных Tag
s
class InlineTag(models.Model):
tag = models.ForeignKey(Tag, null=False)
topic = models.ForeignKey(Topic, null=False)
order = models.PositiveIntegerField(null=False, blank=True)
class Topic(models.Model):
description = models.CharField(max_length=255, blank=False)
sites = models.ManyToManyField(Site)
В настоящее время я делаю этот способ, он кажется слишком сложным:
tags = []
current_site = Site.objects.get_current()
topics = Topic.objects.filter(sites=current_site)
for topic in topics:
inline_tags = InlineTag.objects.filter(topic=topic)
for inline_tag in inline_tags:
tags.append(inline_tag.tag)