2017-11-21 5 views
-1

Ich versuche, ein neues Transaction-Objekt auf der DB mit Django zu registrieren, aber ich habe TypeError: expected string or bytes-like object, wenn ich versuche, user_id = user.id zu tun Ich kann nicht wirklich verstehen, warum Dies geschieht, da ich dieselben Schritte bei der Registrierung eines neuen Bank-Objekts befolge (wie auf den folgenden Abzügen gezeigt). Ich habe versucht zu debuggen und die lokalen Variablen haben den richtigen Wert, ich habe auch versucht, user.id mit String oder int zu werfen, aber keiner von ihnen hat funktioniert. tracebackconsole errorcreate Transaction methodcreate Bank method models.pyTypeError: erwartete Zeichenfolge oder Byte-ähnliches Objekt User.id

+0

Woher kommt das Problem? Veröffentlichen Sie den Traceback. Ist es ein Migrationsproblem? – hansTheFranz

+0

Ich habe den Beitrag bearbeitet, hatte einige Probleme auf StackOverflow –

+0

@hansTheFranz Ich habe einige Links hinzugefügt, um die Traceback zu überprüfen, danke –

Antwort

0

Erstens bitte nicht Code oder Fehler wie Bilder; Sie sind Text, sie sollten als Text in der Frage gepostet werden.

Ich sehe jedoch nichts in diesen Schnipsel, die vorschlagen, dass der Fehler mit dem Benutzer ist - diese Zeile wird wahrscheinlich markiert, weil es das letzte in diesem mehrzeiligen Anruf ist.

vielmehr der Fehler sieht date.today im Bezug auf sein - wenn das die datetime.date Klasse, dann today ist eine Methode, die Sie anrufen müssen:

Transaction.objects.create(date=date.today(), ...) 

Oder, da dieses Feld ein hat Standard sowieso, Sie könnten das Attribut date aus dem Create-Aufruf insgesamt weglassen.

Verwandte Themen