【发布时间】:2017-06-30 05:57:06
【问题描述】:
我有以下型号:
class TestCaseStatus(models.Model):
name = models.CharField(default='n/a', max_length=50)
def __str__(self):
return self.name
class TestCase(models.Model):
id = models.CharField(unique=True, max_length=100, primary_key=True)
name = models.CharField(default='n/a', max_length=200)
def __str__(self):
return self.name
class TestRun(models.Model):
test_id = models.ForeignKey(TestCase)
run_id = models.CharField(max_length=100, default='0')
datetime = models.DateTimeField()
status = models.ForeignKey(TestCaseStatus)
messages = models.CharField(default='n/a', max_length=500)
def __str__(self):
return self.run_id, self.test_id, self.status
我要执行以下 SQL 查询:
select a.test_id_id, a.status_id, b.status_id
from runscompare_testrun as a
left join runscompare_testrun as b on a.test_id_id = b.test_id_id
where a.run_id = 1 and b.run_id=2
SQL 输出:
我认为有一种 django 方法可以避免使用 raw() 调用,但我似乎找不到它。
【问题讨论】:
标签: django sqlite python-3.x django-models