我知道以下SQL
声明有效:
SELECT year_table.year_value, races.race_name, results.category,results.position
FROM races, year_table, results
WHERE year_table.year_value = variable AND year_table.year_id = results.year_id;
您如何将此转换为Django
查询语句?
这些是模型:
class YearTable(models.Model):
year_id = models.IntegerField(primary_key=True)
year_value = models.CharField(max_length=10, blank=True)
class Meta:
managed = False
db_table = 'year_table'
class Races(models.Model):
race_id = models.IntegerField(primary_key=True)
race_name = models.CharField(max_length=50, blank=True)
class Meta:
managed = False
db_table = 'races'
class Results(models.Model):
year = models.ForeignKey('YearTable')
race = models.ForeignKey(Races)
category = models.CharField(max_length=100)
position = models.CharField(max_length=10)
class Meta:
managed = False
db_table = 'results'
答案 0 :(得分:0)
您可以从结果中获取所有内容,并使用select_related
加入其他模型。
results = Results.objects.all().select_related('year', 'race')