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