【发布时间】:2014-05-18 22:18:41
【问题描述】:
Django 1.3 Python 2.7
我有以下模型(无关字段省略):
class Encounter(models.Model):
subject = models.ForeignKey('Subject', to_field='uuid')
uuid = models.SlugField(max_length=36, unique=True, default=make_uuid, editable=False)
class Subject(models.Model):
uuid = models.SlugField(max_length=36, unique=True, default=make_uuid, editable=False)
location = models.ForeignKey('Location', blank=True, to_field='uuid')
class Location(models.Model):
uuid = models.SlugField(max_length=36, unique=True, default=make_uuid, editable=False)
我想知道每个地点发生了多少次遭遇。如果 Encounter 包含位置字段,我可以使用 annotate(),但它没有,我也无法添加。我目前通过annotate() 知道每个主题的遭遇次数和每个位置的主题数量。我愿意将这些乘法组合,但我想知道a)是否可行,b)是否有更好的方法。
提前致谢!
【问题讨论】:
标签: python django django-1.3