推薦三個簡單教程
sqlalchemy
python sqlalchemy入門教程(基本用法)
使用sqlalchemy
qa = qarecords(question='something')
db.session.add(qa)
db.session.commit()
print(qa.id)
參考:sqlalchemy之獲取自增id
出現下面的錯誤,提示filter_by()需要乙個引數,但是提供了兩個,原因是我沒有給引數指定引數名,所以可能這個函式判斷不了這個引數應該複製給誰,所以報錯
self.write_session.query(users).filter_by(id).update(name='zhangsan')
給引數指定引數名後:
self.write_session.query(users).filter_by(id=id).update(name='zhangsan')
query = self.write_session.query(zephyr_task).filter_by(id > 10)
print(query.count())
出現這個錯誤而且沒有其他提示資訊,可能性最大的兩種原因是:
(1) 字段長度超過限制
(2) 可以看看是不是字段要求格式和所傳格式不一致
我出現這個錯誤的時候發現是我的有些欄位是字串,但是我賦值的時候賦值的是乙個字典,賦值直接把字典進行json.dumps()轉化成字串後就沒有這個錯誤了
(1) 使用load_only函式
from sqlalchemy.orm import load_only
fields = ['name', 'addr', 'phone', 'url']
companies = session.query(somemodel).options(load_only(*fields)).all()
參考:(2) 使用 with_entities()
flask-sqlalchemy 的 query 是直接查詢 model,查出來的一定是乙個 model 物件。
如果要查詢單個字段的話,應該用 session 去 query model。
a = db.session.query(page.title, page.page).all()
print(a)
b = page.query.with_entities(page.title, page.page).all()
print(b)
這兩個查詢返回的都是乙個列表,列表內的元素是乙個元組,不過不是 python 內建的元組,是 sqlalchemy.util._collections.keyedtuple。
參考:
SQLAlchemy學習筆記
因為後端框架重度使用orm,鑑於sqlalchemy官網沒有中文翻譯,加上經常會被牆,所以搬運些工具到部落格上,以備後用。均為示例,不能直接使用 1 基礎操作 coding utf 8 等於 equals query.filter user.name ed 不等於 not equals query....
sqlalchemy學習筆記
第一 安裝 sudo easy install sqlalchemy 第二 基本的使用 1 先寫個指令碼 嘗試連線mysql 建立一張表 coding utf 8 from sqlalchemy import import sqlalchemy.util as util import string,...
flask 與 SQLAlchemy的使用
安裝模組 pip install flask sqlalchemy在單個python中與flask使用 檔名 manage.py from flask sqlalchemy import sqlalchemy from flask import flask user root password ro...