【发布时间】:2017-10-12 11:32:14
【问题描述】:
假设我有一个 django 模型:
class Score(models.Model):
name = models.CharField(max_length=32)
value = models.IntegerField()
status = models.BooleanField()
def __unicode__(self):
return u"{}: {} {}".format(self.name, self.value, self.status)
表格score 看起来像这样:
id | name | value | status
---+-------+-------+-------
1 | john | 15 | 0
2 | ivan | 21 | 0
3 | david | 14 | 1
4 | john | 11 | 1
5 | john | 25 | 0
6 | david | 8 | 1
我想为作为名称列表给出的每个名称提取具有最大 value 的对象。例如:
names = ['john', 'david', 'paul']
dct = process(names) # How to implement this function???
for name, obj in dct.items():
print name, obj
应该打印:
john john: 25 False
david david: 14 True
paul None
性能很重要。我应该处理大约 10k 个名称,score 中的每个名称都有大约 1k 条记录。用 django 最好的方法是什么?在这个任务中使用 django ORM 有意义吗?
我使用 MySQL 数据库。
感谢您的提前。
【问题讨论】:
标签: python mysql django python-2.7