Python Django:如何在多个表中查询多个字段
我知道以下SQL语句是有效的:Python Django:如何在多个表中查询多个字段,python,mysql,sql,django,Python,Mysql,Sql,Django,我知道以下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 YearTab
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_related加入其他模型
results = Results.objects.all().select_related('year', 'race')
请显示您的模型,而不是SQL。您可以result=Results.objects.getyear\u id=some\u id没有测试这个,然后result.year和result.race再次没有测试我的代码片段,但类似的东西应该可以工作如果您需要更完整的示例,请让我知道请注意,所选的\u相关返回一个将“跟随”的查询集外键关系。。。