我知道以下 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'
最佳答案
您可以从结果中获取所有内容,并使用 select_lated
加入其他模型。
results = Results.objects.all().select_related('year', 'race')
关于python - Django:如何查询多个表中的多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343265/