python - 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 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/

相关文章:

python - 使用负向后查找的多个正则表达式匹配

python - 将 Django 站点放在另一个 Django 站点的子目录中

mysql - 如何从旧的 MAMP 安装中恢复 MediaWiki 页面?

mysql - 如何在不安装 mysql 连接器 msi 的情况下引用 nhibernate 中的 mysql 连接器?

sql - 为什么我的表不支持外键?

Python、py2exe 和 pyopengl 导入错误 : No module named win32

python - 使用 BeautifulSoup 循环并检索特定 URL

php - MySQL 行(除了最后一行)是缩进的并且不可搜索? (加载数据文件)

php - 查找某个项目在给定的多个数组中的哪个数组,并且该项目仅存在于 PHP/SQL 中的一个数组中

PHP + MySQL 多数据库网站到带前缀的单数据库网站。