I have two tables and I want to get the "description" field. This is what I have currently.
class BuildingNumber(BaseModel):
number = models.CharField(_("number"),max_length=200,primary_key=True)
description = models.CharField(_("description"), max_length=200)
class SchoolNumber(BaseModel):
school = models.ForeignKey(School,max_length=200,on_delete=models.CASCADE)
school_number = models.ForeignKey(BuildingNumber, max_length=200,on_delete=models.CASCADE) def __str__(self): return str(self.school)
school_number =SchoolNumber.objects.filter(school__in=school_list).values("s_number")
description = BuildingNumber.objects.filter(number__in=school_number).values("description")
print("description: ",description)
And for the BuildingNumber model I am using my custom primary key, not the django default 'id'. However this didn't work.
I got the following error:
ProgrammingError
Exception Value:
operator does not exist: character varying = bigint
LINE 1: ...._number" WHERE "...."."number" IN (SELECT...
I read that this happens when you use a custom primary key. But i need to use this and I coudn't find a way to overcome this error