[英]How to copy a SQLAlchemy query object?
我嘗試了copy.deepcopy,但收到此錯誤: newobj中的文件“ /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy_reg.py”第93行返回cls。 新的 (cls,* args)TypeError:對象。 新的 (psycopg2._psycopg.type)不安全,請使用psycopg2._psycopg.type。 新 ()
為什么要復制? 因為我有兩個要運行的查詢,它們幾乎相同,但並不完全相同。 我已經應用了六個相同的過濾器,現在我想應用一個過濾器,執行該過濾器,然后“回滾”並應用另一個過濾器並執行該過濾器。
我嘗試了酸洗和酸洗作為解決方法,但酸洗不適用於功能對象。
每當您添加.filter()或類似於查詢的內容時,它都會返回查詢的副本。 在此處查看文檔: http : //docs.sqlalchemy.org/en/rel_0_8/orm/query.html#sqlalchemy.orm.query.Query.filter
我想您可以針對您的情況使用該功能:
query = session.query(Customer)
main_query = query.filter(Customer.size > 150)
query1 = main_query.filter(Customer.age > 50)
query2 = main_query.filter(Customer.age < 30)
query1將返回所有大於150且大於50的客戶
query2將返回所有大於150且小於30的客戶
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.