Django фильтрация с пользовательским первичным ключом

У меня есть две таблицы, и я хочу получить поле "описание". Вот что у меня есть на данный момент.

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)

Для модели BuildingNumber я использую свой собственный первичный ключ, а не стандартный django 'id'. Однако это не сработало.

Я получил следующую ошибку:

ProgrammingError
Exception Value:    
operator does not exist: character varying = bigint
LINE 1: ...._number" WHERE "...."."number" IN (SELECT...

Я читал, что это происходит, когда вы используете пользовательский первичный ключ. Но мне нужно использовать его, и я не нашел способа преодолеть эту ошибку

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