TypeError: int() argument muss eine Zeichenkette oder eine Zahl, nicht 'datetime.datetime'
Habe ich gemacht App12/models.py Modul:
from django.db import models
class Question(models.Model):
ques_text=models.CharField(max_length=300)
pub_date=models.DateTimeField('Published date')
def __str__(self):
return self.ques_text
class Choice(models.Model):
# question=models.ForeignKey(Question)
choice_text=models.CharField(max_length=300)
votes=models.IntegerField(default=0)
def __str__(self):
return self.choice_text
Dann Lauf ich die Befehle
python manage.py makemigrations App12
python manage.py migrate
und geben Sie dann 2 Datensätze im Frage-Modell als:
Question.objects.create(ques_text="How are you?",pub_date='timezone.now()')
# and (ques_text="What are you doing?",pub_date='timezone.now()')
Dann erkenne ich, dass die Frage und die Auswahl der Modelle sollte in der foreign key-Beziehung und kommentieren Sie die oben kommentierte Aussage in den Modellen code
Wenn ich den " python manage.py makemigrations App12
" es läuft gut, aber danach bin ich immer die
"TypeError: int() argument must be a string or a number, not 'datetime.datetime"
Fehler wenn ich auf "python manage.py migrieren" - Befehl.
Kann mir keiner helfen.Wie kann ich ein foreignkey Beziehung zwischen der Wahl-Modell und Frage-Modell jetzt.
- Hat die traceback erwähnen, wo der Fehler ist?
- was ist das problem mit dem ForeignKey Sie kommentiert haben?
- Überhaupt kein problem.Aber dieses problem aufgetreten, wenn ich das Tat-code.Ersten ich vergaß hinzuzufügen, die foreign-key-Beziehung ein, aber nach einiger Zeit, merkte ich, dass es in der foreign key-Beziehung zwischen Frage und Wahl-Modelle. Aber tut das migrate-Befehl, es zeigt die oben genannten Fehler. Warum ist es mit solchen Fehler und wie kann ich dieses problem loszuwerden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der migration-Datei ist es normal, dass Sie diese Fehlermeldung erhalten, werden Sie versuchen, zu speichern datetime auf einen Foreignkey werden müssen, zu einer int.
Dies passiert, wenn die migration fragte Sie, welcher Wert gesetzt werden für die alten Wahl-Zeilen, da der neue ForeignKey erforderlich ist.
Um es zu beheben, können Sie ändern Sie die migration-Datei und ändern Sie die datetime.Datum..., um eine gültige id aus der Tabelle Frage wie der code unten. Oder löschen Sie die migration-Datei und re-run ./manage.py makemigrations, wenn Sie gefragt werden, über den Standardwert der Eingabeaufforderung eine berechtigte Frage-id, kein datetime.
pub_date
sollte nicht ein string sein. Erstellen Sie Ihr Objekt wie folgt: