-4
在文檔,peewee
suggests運行SELECT查詢,像這樣:爲什麼在需要之前選擇?
User.select().where(User.active == True)
爲什麼不User.where(User.active == True)
?這個設計決定的邏輯是什麼?
在文檔,peewee
suggests運行SELECT查詢,像這樣:爲什麼在需要之前選擇?
User.select().where(User.active == True)
爲什麼不User.where(User.active == True)
?這個設計決定的邏輯是什麼?
對於初學者,select()是爲了標記你正在做一個SQL SELECT。 上有型號其他可用方法的對象,如:
User.update()
User.delete()
其映射到相應的SQL
UPDATE
DELETE
另外,如果你的問題是使用select()中使用空的,它並不總是使用像那樣。 事實上,當你這樣做:
User.select().where(User.active == True)
你實際上是這樣做的:
User.select(User).where(User.active == True)
它只是因爲你從一個表中選擇,peewee已經假定你可能想選擇來自用戶的字段,並允許您省略它。
在更復雜的查詢,比如讓我們說你有沒有和可能的用戶類型的列表表用戶類型,它看起來是這樣的:
User.select(User, UserType).join(UserType).where(User.active == True)
的參數傳遞給選擇()是一樣的你放在SQL SELECT之前。它們是您希望查詢返回的字段。
User.select(User.name).where(User.active == True)
應該映射到
SELECT name FROM user WHERE active == true
'select'是不是唯一的查詢,所以你需要指定它是一個'select'查詢。 – 4castle
@ 4castle你似乎在回答'爲什麼選擇後必要的地方'這個問題,這不是我所要求的。 – Superbest
我想我正在回答你的問題,「爲什麼在'where'之前需要'select'」。 – 4castle