У меня есть ситуация, когда object_id
для ForeignKey
принимает PositiveIntegerField
, но все id's
моих моделей установлены как uuid
.
Я посмотрел документацию и обнаружил, что я следует использовать get_prep_value(value)
или get_db_prep_value(value, connection, prepared=False)¶
Вопрос в том, как именно мне это сделать?
Вот код модели, который содержит foreignRelation
target_ct = models.ForeignKey(ContentType,
blank=True,
null=True,
related_name='target_obj',
on_delete=models.CASCADE)
target_id = models.PositiveIntegerField(null=True,
blank=True,
db_index=True)
target = GenericForeignKey('target_ct', 'target_id')
created_at = models.DateTimeField(auto_now_add=True,
db_index=True)
Поле из всех других моделей
id = models.UUIDField(default=uuid4, primary_key=True, editable=False)
Всякий раз, когда я пытаюсь сохранить модель с текущими настройками, я получаю эту ошибку
django .db.utils.DataError: целое число вне диапазона