TurboGears2 / SQLAlchemy: Einfügen eine neue Zeile in eine Tabelle mit einem Primärschlüssel mit AUTOINCREMENT

StackOverflow https://stackoverflow.com/questions/1366295

Frage

Ich bin ein noob und ich versuche, meinen Kopf um TG2 und SQLAlchemy zu bekommen. Das spezifische Problem, das ich bin Ringe mit im Moment ist, wie eine neue Zeile in eine Tabelle einfügen, wenn das PK-Feld als autoincrement konfiguriert ist.

Zum Beispiel:

in meiner myproject.model.myproject.py Datei definierte ich die folgende Tabelle:

class Dj(DeclarativeBase):
    __tablename__ = 'djs'

    #{ Columns

    djID = Column(Integer,  autoincrement=True, primary_key=True)
    djname = Column(String)
    djwebpage = Column(String)
    #}

In meinem websetup.py Datei, die ich füllen Sie es mit einigen Anfangsdaten. Da dies die erste Zeile der Daten ist, dass ich betrogen und nur die djID definiert als „1“

dj = model.Dj("1", "DJ Anonymous", "http://www.djanonymous.com")

Wenn ich die websetup.py wollte eine zweite Zeile in der Tabelle djs (über Objekt Dj) zu erstellen, wie würde ich das tun?

Ich habe versucht, vorher eine Reihe von verschiedenen Dingen und haben kein Glück gehabt. Wenn ich das gleiche Format verwenden zum Beispiel, aber habe nur zwei Strings enthalten (für die djname und djwebpage Spalten) ich einen Fehler beschweren, dass ich ihm nicht genug Argumente nicht geben.

Natürlich letztlich muß ich herausfinden, wie eine Steuerung zu schaffen, mir zu erlauben neue Einträge in die Tabelle einfügen ... aber ich werde mein einen Schritt zu einer Zeit, zu lernen und dankbar sein, nur erfolgreich vor -populate die Tabelle mit mehreren Zeilen über die websetup.py Datei. Hoffentlich wird mir die Hinweise zu erlauben, mich auf den nächsten Schritt zu tun.

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Nun Ihr Problem einfach ist (ich bin beeindruckt es so lange bleibt unbeantwortet:).

  • Erste warum Ihre ID Spalte "djID" nennen? warum nicht nur id?
  • Zweiter Sie nicht Einsatz hinein, das ist, warum es Autoinkrement.
  • Drittes die erste Grund SA Tutorial erklärt, diese
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top