ich eine neue Imagefield in meinem models.py
hinzugefügt:Django erstellt keine Imagefield auf Postgres
class User(AbstractUser):
[more_fields_here]
profile_picture = models.ImageField(upload_to='profile_pictures', null=True)
Ich lief python manage.py makemigrations
und dann python manage.py migrate
ohne Fehler.
Aber wenn ich meine Anwendung ausführen ich erhalte:
ProgrammingError at column authentication_user.profile_picture does not exist
checkte ich in der Postgres-Datenbank und die Spalte profile_picture
nicht vorhanden.
Ich löschte die Migrationen und versuchte es erneut, aber ich bekomme immer noch den gleichen Fehler.
Im migrations/0001_initial.py
gibt es die Zeile:
('profile_picture', models.ImageField(null=True, upload_to='profile_pictures')),
Aber warum die Spalte nicht gibt es in der Tabelle?
Haben Sie vielleicht Ihre Migrationsdatei manuell geändert? ? Ich vermute, dass Django denkt, dass '0001_initial' bereits migriert wurde und deshalb dieses Feld nicht hinzufügt. Ich würde auch vorschlagen, 'python manage.py migrieren 'zu versuchen, um alle Migrationen rückgängig zu machen und dann' python manage.py migrate 'erneut auszuführen. – Kamil
Haben Sie [AUTH_USER_MODEL'] (https://docs.djangoproject.com/de/1.11/ref/settings/#std:setting-AUTH_USER_MODEL) für Ihr benutzerdefiniertes Benutzermodell festgelegt? Sehen Sie die '[more_fields_here]' Felder in der Datenbank? – Chris
@Chris, ich kann bestätigen, dass ich das '' AUTH_USER_MODEL'' eingestellt habe. Alle anderen Felder sind wie erwartet in der Datenbank enthalten. Das Problem besteht nur bei diesem Feld. – Galil