Postgresql
, Django 2.0
, Python 3.6.4
После запуска миграции, которая изменила имя поля desktop_pay
на просто pay
, я получаю сообщение об ошибке при запуске manage.py test
говоря, что столбец pay
не существует.
Вот миграция:
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('instructions', '0055_auto_20180517_1508'),
]
operations = [
migrations.RenameField(
model_name='instruction',
old_name='desktop_pay',
new_name='pay',
),
]
Вот ошибка:
> python .\manage.py test
Creating test database for alias 'default'...
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: column instructions_instruction.pay does not exist
LINE 1: "...on"."quota", "instructions_instruction"."target", "instructi...
^
Если я запускаю приглашение psql,хотя я ясно вижу, что столбец существует, по крайней мере, в «реальной» таблице.
mydatabase=> \d+ instructions_instruction
Table "public.instructions_instruction"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
---------------------+------------------------+-----------+----------+------------------------------------------------------+----------+--------------+-------------
id | integer | | not null | nextval('instructions_instruction_id_seq'::regclass) | plain | |
quota | smallint | | not null | | plain | |
pay | numeric(5,2) | | not null | | main | |
### etc...
Что здесь происходит?Почему Джанго не находит колонку?Как я могу отладить это?