【发布时间】:2014-03-29 05:29:26
【问题描述】:
我有以下架构:
class PCs(models.Model):
model = models.ForeignKey(Products, primary_key=True)
speed = models.IntegerField(max_length=256, blank = True, null=True)
ram = models.IntegerField(max_length=256, blank = True, null=True)
hd = models.IntegerField(max_length=256, blank = True, null=True)
price = models.IntegerField(max_length=256, blank = True, null=True)
class Printers(models.Model):
model = models.ForeignKey(Products, primary_key=True)
color = models.BooleanField()
type = models.CharField(max_length=256, blank = True, null=True)
price = models.IntegerField(max_length=256, blank = True, null=True)
我正在尝试运行以下 SQL 查询:
SELECT *
FROM PCs P, Printers T
WHERE p.price + t.price <= 1000
但是我完全不知道如何使用 Django 的 ORM 来做到这一点。除了从 PC 和打印机中获取所有对象并检查所有可能的组合之外,这是唯一的方法吗?
【问题讨论】:
-
有点吹毛求疵,但按照惯例,型号名称应该是单数。
标签: python sql django django-models django-orm