私は次のモデルを持っています:
class Topic(models.Model):
title = models.CharField(max_length=140)
visible = models.NullableBooleanField(null=True, blank=True, default=False)
def __unicode__(self):
return self.title
class Meta:
verbose_name = _('topic')
verbose_name_plural = _('topics')
class TopicLabel(models.Model):
name = models.CharField(max_length=256)
order = models.IntegerField(null=True, blank=True)
def getTopics():
return TopicLabelConnection.objects.filter(labelId=self.id).orderby('order')
def __unicode__(self):
return self.name
class TopicLabelConnection(models.Model):
topicId = models.ForeignKey(Topic, related_name='connection_topic')
labelId = models.ForeignKey(TopicLabel, related_name='connection_label')
def __unicode__(self):
return self.labelId.name + ' / ' + self.topicId.title
すべてのトピックは、表示することも非表示にすることもできます。
少なくとも 1 つの可視トピックを持つすべての TopicLabels を返すクエリを作成する必要があります。
余分な関数 (Django コードへの SQL の注入)を使用せずに Django でそのようなクエリを作成することは可能ですか? はいの場合、どのように?