Django select_related не работает должным образом
Я пытаюсь сделать запрос JOIN из моей базы данных через Django ORM. Но select_related не работает должным образом. SQL запрос, который я пытаюсь получить:
SELECT * FROM rel_observation_table
inner join sp_fields on rel_observation_table.id_field = sp_fields.id
Моя первая модель стола
class RelSubdivisionFields(models.Model):
id_sp_subdivision = models.ForeignKey('SpSubdivision', models.DO_NOTHING, db_column='id_sp_subdivision', blank=True, null=True)
id_field = models.ForeignKey('SpFields', models.DO_NOTHING, db_column='id_field')
block = models.ForeignKey('SpFormBlocks', models.DO_NOTHING, db_column='block')
order_index = models.IntegerField(blank=True, null=True)
required = models.BooleanField()
class Meta:
managed = False
db_table = 'rel_subdivision_fields'
unique_together = (('id_sp_subdivision', 'id_field', 'block'),)
Моя 2-я модель стола
class SpFields(models.Model):
id = models.IntegerField(primary_key=True, db_column='id')
name = models.CharField(unique=True, max_length=100)
field_type = models.CharField(max_length=20)
rel_table = models.CharField(max_length=100, blank=True, null=True)
class Meta:
managed = False
db_table = 'sp_fields'
Мой набор запросов
qs = RelObservationFields.objects.select_related('id_field')
Результат выполнения QS
>>> qs.values()[0]
{'id_sp_observation_id': 80101, 'id_field_id': 1, 'block_id': 'with_error', 'order_index': 0, 'required': False, 'id': 90}
Как вы можете видеть, есть только столбцы из первой таблицы, мне также нужны столбцы из второй.