TypeError: int () - Argument muss eine Zeichenfolge oder eine Zahl sein, nicht 'datetime.datetime'

8

Ich habe App12 / models.py als:

gemacht %Vor%

Dann führe ich die cmds

aus %Vor%

und geben Sie dann 2 Datensätze in das Fragenmodell ein:

%Vor%

Dann erkenne ich, dass die Frage- und Entscheidungsmodelle in einer Fremdschlüsselbeziehung stehen und die oben kommentierte Aussage im Modellcode auskommentieren sollten

Wenn ich " python manage.py makemigrations App12 " starte, läuft es gut, aber danach bekomme ich das

%Vor%

Fehler beim Ausführen des Befehls "python manage.py migrate".

Kann mir jemand helfen? Wie kann ich jetzt eine Fremdschlüsselbeziehung zwischen dem Choice-Modell und dem Fragenmodell hinzufügen?

    
Jagat 07.09.2015, 13:47
quelle

2 Antworten

13

Aus Ihrer Migrationsdatei ist es normal, dass Sie diesen Fehler erhalten. Sie versuchen, eine Datetime auf einem Fremdschlüssel zu speichern, der ein int sein muss.

Dies ist der Fall, wenn Sie bei der Migration gefragt wurden, welcher Wert für alte Choice-Zeilen festgelegt werden soll, da der neue ForeignKey erforderlich ist.

Um es zu lösen, können Sie die Migrationsdatei ändern und die datetime.date ... in eine gültige ID aus der Question-Tabelle wie den folgenden Code ändern. Oder löschen Sie die Migrationsdatei und führen Sie ./manage.py makemigrations erneut aus. Wenn Sie nach dem Standardwert gefragt werden, geben Sie eine gültige Fragen-ID und keine Datetime ein.

%Vor%     
Mounir 08.09.2015, 11:34
quelle
2

pub_date sollte keine Zeichenkette sein. Erstellen Sie Ihr Objekt wie folgt:

%Vor%     
Régis B. 07.09.2015 14:12
quelle

Tags und Links