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}

Как вы можете видеть, есть только столбцы из первой таблицы, мне также нужны столбцы из второй.

Вернуться на верх