簡體   English   中英

Django:如何查詢多個表中的多個字段

[英]Django: how to query multiple fields in multiple tables

我有以下我知道有效的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_related加入其他模型。

results = Results.objects.all().select_related('year', 'race')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM