I have two model, making unique key column as foreign key to other table.
class Employee(models.Model):
EmployeeId = models.IntegerField(unique=True)
Employee_Name = models.CharField(max_length=100)
class Release(models.Model):
EmployeeId = models.ForeignKey(Employee, on_delete=models.CASCADE, to_field="EmployeeId")
when i am trying join query it is doing join on primary key column on Employee table.
below is the join query I am expecting join on Employee.EmployeeId =Release.EmployeeId
r=Release.objects.all().select_related('EmployeeId')
but above query gives
print(str(r.query))
Output:
'SELECT "app_release"."id", "app_release"."EmployeeId_id", "app_employee"."id", "app_employee"."EmployeeId", "app_employee"."Employee_Name"
FROM "app_release" INNER JOIN "app_employee"
ON ("app_re
lease"."EmployeeId_id" = "app_employee"."id")'
which i don't want i.e, instead of
ON ("app_release"."EmployeeId_id" = "app_employee"."id")'
i want
ON ("app_release"."EmployeeId_id" = "app_employee"."EmployeeId")'