【发布时间】:2015-08-12 14:05:41
【问题描述】:
我是TastyPie 的新人,我希望在也许 简单的任务上得到一些帮助(也可以用英语 D:)。我有一个领域的两个相关资源。 ForeignKey 我想得到一个结果集,其中包含跑步者在一段时间内执行的总循环。该要求反映在下一个 SQL 查询中。
SELECT r.firstName, r.lastName, COUNT(l.id) FROM Runners r
INNER JOIN Loops l
ON r.id = l.runnerId
WHERE l.start >= '1900-01-01' AND l.end <= '1900-01-02'
Resources.py
class LoopsResource(ModelResource):
operators = fields.ForeignKey("OperatorsResource", "operators", full=True, null=True, blank=True)
class Meta:
queryset = Loopssync.objects.all()
resource_name = 'Loopssync'
authorization = Authorization()
#fields = []
filtering = {
"startedat" : ['gte', 'gt', 'lte', 'lt'],
"finishedat" : ['gte', 'gt', 'lte', 'lt'],
"operatorid": ALL_WITH_RELATIONS
}
class RunnersResource(ModelResource):
class Meta:
queryset = Runners.objects.all()
resource_name = 'Runners'
authorization = Authorization()
fields = ['id', 'firstname', 'lastname']
filtering = {"id": ALL}
Models.py
class Loopssync(models.Model):
remoteid = models.IntegerField(db_column='remoteId', blank=True, null=True)
startedat = models.DateTimeField(db_column='startedAt')
finishedat = models.DateTimeField(db_column='finishedAt')
runnerid = models.ForeignKey('Runners', db_column='runnerId')
class Runners(models.Model):
firstname = models.TextField(db_column='firstName')
lastname = models.TextField(db_column='lastName')
此外,我想知道我应该使用什么 URI 来在浏览器中获取此设置结果。
【问题讨论】: