Почему я получаю ошибку целочисленной точности при запуске: heroku run python manage.py migrate
Я развернул приложение Django на Heroku, но хочу перейти на PostgreSQL, поэтому я следую видеоуроку на YouTube о том, как это сделать. В учебнике нужно выполнить команду Heroku run python manage.py migrate
, чтобы перенести мою текущую базу данных SQLite в базу данных PostgreSQL на Heroku. Я продолжаю получать эту ошибку:
psycopg2.errors.CannotCoerce: cannot cast type date to double precision
LINE 1: ...cted" TYPE double precision USING "lastInteracted"::double p...
Вот мой файл models.py. Я почти уверен, что проблема в модели Conversation
с переменной lastInteracted
, но я не знаю, почему это происходит.
Для уточнения, переменная lastInteracted
хранит текущее время с момента эпохи в секундах. Я проверил это, и оно действительно меньше 2.47B, что является максимальным значением целого числа.
А вот фрагменты кода, в которых я пытаюсь использовать эту переменную lastInteracted:
conversation = Conversation()
conversation.lastInteracted = int(time.time())
и
convs = (Conversation.objects.filter(
Q(user1=request.user) | Q(user2=request.user))).order_by('-lastInteracted')
Я сбросил базу данных, удалив ее, а также удалил папку migrations. Я также удалил default=datetime.now() из всех моделей, и эти изменения, похоже, сработали. Не уверен, что это кому-то поможет, но в любом случае размещаю ответ здесь.