Für Starter, markieren Sie(), um zu markieren, dass Sie eine SQL SELECT ausführen. Es gibt weitere Methoden auf dem Modellobjekten wie:
User.update()
User.delete()
die Karte, um die entsprechenden SQL
UPDATE
DELETE
Auch, wenn Ihr Probleme mit select() leer verwendet wird, ist es nicht immer verwendet so wie das. In der Tat, wenn Sie das tun:
User.select().where(User.active == True)
Sie tatsächlich tun:
User.select(User).where(User.active == True)
es nur das ist, da man aus einer einzigen Tabelle sind die Auswahl nimmt peewee bereits wahrscheinlich Sie die wählenden Felder von Benutzer und ermöglicht es Ihnen, es wegzulassen.
auf komplexere Abfragen, wie sagen wir, Sie mit einer Liste von möglichen Benutzertypen eine Tabelle Usertype hatte, es etwas aussehen würde:
User.select(User, UserType).join(UserType).where(User.active == True)
Die Parameter, die Sie wählen() übergeben sind die gleichen Sie vor SQL SELECT setzen. Sie sind die Felder, die die Abfrage zurückgeben soll.
User.select(User.name).where(User.active == True)
sollten Karte zu
SELECT name FROM user WHERE active == true
'select' nicht die einzige Art der Abfrage ist, so müssen Sie angeben, dass es sich um eine' select' Abfrage ist. – 4castle
@ 4castle Sie scheinen die Frage zu beantworten: "Warum ist wo nötig nach Auswahl", was ich nicht möchte. – Superbest
Ich glaube, ich beantworte Ihre Frage "warum ist' select' vor 'wo' "nötig? – 4castle