3
創建的ImageField我在models.py
增加了一個新的ImageField:Django不上的Postgres
class User(AbstractUser):
[more_fields_here]
profile_picture = models.ImageField(upload_to='profile_pictures', null=True)
我跑python manage.py makemigrations
然後python manage.py migrate
沒有任何錯誤。
但是當我運行我的應用程序我得到:
ProgrammingError at column authentication_user.profile_picture does not exist
我Postgres數據庫檢查和列profile_picture
不存在。
我刪除了遷移,並再次嘗試,但我仍然收到相同的錯誤。
在migrations/0001_initial.py
有行:
('profile_picture', models.ImageField(null=True, upload_to='profile_pictures')),
但爲什麼列不表中的存在嗎?
您是否可能手動修改您的遷移文件?我懷疑Django認爲'0001_initial'已經被遷移了,這就是爲什麼它不添加這個字段。我還建議嘗試'python manage.py migrate appname zero'來回滾所有遷移,然後再次運行'python manage.py migrate'。 – Kamil
您是否已將['AUTH_USER_MODEL'](https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-AUTH_USER_MODEL)設置爲您的自定義用戶模型?你在數據庫中看到'[more_fields_here]'字段嗎? – Chris
@Chris,我可以確認我已經設置了''AUTH_USER_MODEL''。所有其他字段都按預期在數據庫中。問題只在於這個領域。 – Galil