PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Миграцията на Django 1.8 не може да преобразува id на колона в цяло число

Проблемът е миграцията от Process.milestone като булево поле към Process.milestone като външен ключ. Postgres не чака миграцията да се провали върху данни, които не могат да се предават. Той иска правило за промяна на таблицата предварително.

Ако не възнамерявате каквато и да е миграция на данни между две полета, най-лесният вариант е просто да премахнете и добавите полето. В този конкретен случай това би означавало промяна на операциите, както следва:

operations = [
    migrations.RemoveField(
        model_name='process',
        name='milestone'
    ),
    migrations.AddField(
        model_name='process',
        name='milestone',
        field=models.ForeignKey(to='processes.Milestone'),
    ),
    migrations.AlterModelOptions(
        name='process',
        options={'ordering': ['milestone', 'sequence'], 'verbose_name_plural': 'processes'},
    )
]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да разбера дали Autovacuum на PostgreSQL работи на UNIX?

  2. Как да вмъкна нов ред в PostgreSQL

  3. php postgres от заявка до извличане на редове на теория

  4. Изравняване на вложена JSONB колона на Postgres

  5. Как да тествам влизане в crontab?