我有以下型号:
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
每个主题都可以可见或不可见。
我需要编写一个查询,它返回所有具有至少一个可见主题的 TopicLabels。
是否可以在 Django 中创建这样的查询而不使用额外的函数(将 SQL 注入 Django 代码)?如果是,如何?