SQL-соединение в Django без внешнего ключа

Мне нужно сделать следующий join в views.py, я провел некоторые исследования и функция select_related не работает для меня, таблицы не имеют внешнего ключа между ними, как я могу сделать join с определенными полями, в частности "id_curso"

SELECT * FROM ALUMNO A JOIN HORARIO H ON (A.ID_CURSO = H.ID_CURSO)

models.py

class Alumno(models.Model):
rut_alumno = models.IntegerField(primary_key=True)
dv_alumno = models.CharField(max_length=1)
p_nombre = models.CharField(max_length=15)
s_nombre = models.CharField(max_length=15, blank=True, null=True)
ap_paterno = models.CharField(max_length=15)
ap_materno = models.CharField(max_length=15, blank=True, null=True)
fecha_nac = models.DateField()
genero = models.CharField(max_length=1)
direccion = models.CharField(max_length=25, blank=True, null=True)
nivel_socio = models.CharField(max_length=10)
id_examenes = models.OneToOneField('ExamenCono', models.DO_NOTHING, db_column='id_examenes')
rut_apoderado = models.ForeignKey('Apoderado', models.DO_NOTHING, db_column='rut_apoderado')
id_colegio = models.ForeignKey('Colegio', models.DO_NOTHING, db_column='id_colegio')
id_curso = models.ForeignKey('Curso', models.DO_NOTHING, db_column='id_curso')
id_comuna = models.ForeignKey('Comuna', models.DO_NOTHING, db_column='id_comuna')

class Horario(models.Model):
id_horario = models.IntegerField(primary_key=True)
dia = models.CharField(max_length=10)
hora_inicio = models.CharField(max_length=5)
hora_termino = models.CharField(max_length=5)
annio = models.IntegerField()
id_asignatura = models.ForeignKey(Asignatura, models.DO_NOTHING, db_column='id_asignatura')
id_sala = models.ForeignKey('Sala', models.DO_NOTHING, db_column='id_sala')
rut_profesor = models.ForeignKey('Profesor', models.DO_NOTHING, db_column='rut_profesor')
id_curso = models.ForeignKey(Curso, models.DO_NOTHING, db_column='id_curso')

views.py

def vistaAlumno(request):
    horarios = Alumno.objects.select_related('')    
    return render(request, 'core/vistaAlumno.html', {'horarios': horarios})
Вернуться на верх