【发布时间】:2011-04-21 16:42:16
【问题描述】:
我遇到过以下问题,基本上我是这样做的:
class Account(models.Model):
TraffPerMonth = models.IntegerField(default=0)
Tariff = models.ForeignKey('Tariff')
class Tariff(models.Model):
InetTraff = models.IntegerField(default='0')
这里是选择:
for user in Account.objects.all():
t_traff = long(user.Tariff.InetTraff)
if u_traff >= t_traff:
#do something
pass
这需要一些时间,在大多数情况下,我会浪费处理器时间,通过未过度使用其限制的用户进行查找。这是我需要的简单 SQL 查询:
select ba.TraffPerMonth from billing_account ba , billing_tariff bt where ba.TraffPerMonth > bt.InetTraff group by ba.id;
如何使用 Django 完成上述查询? 我已经尝试在 google 中搜索,但我看到的是一些示例是否为 NULL,在我的示例中我需要与某个值进行比较。
提前谢谢你。
【问题讨论】:
标签: sql django model foreign-keys