[英]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.