คำถามติดแท็ก sqlalchemy

SQLAlchemy เป็นชุดเครื่องมือ Python SQL และ Object Relational Mapper ที่ช่วยให้นักพัฒนาแอปพลิเคชันสามารถใช้งาน SQL ได้อย่างเต็มประสิทธิภาพและยืดหยุ่น

6
คำสั่ง SQLAlchemy ตามการรอคอย?
ฉันจะใช้ ORDER BY descendingในแบบสอบถาม SQLAlchemy ดังต่อไปนี้ได้อย่างไร แบบสอบถามนี้ใช้งานได้ แต่ส่งคืนตามลำดับจากน้อยไปมาก query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount) # This row :) ) ถ้าฉันลอง: .order_by(desc(model.Entry.amount)) แล้วฉันจะได้รับ: NameError: global name 'desc' is not defined.
424 python  sqlalchemy 

4
SQLAlchemy: ความแตกต่างระหว่าง flush () และ commit () คืออะไร?
อะไรคือความแตกต่างระหว่างflush()และcommit()ใน SQLAlchemy? ฉันอ่านเอกสารแล้ว แต่ไม่มีใครฉลาด - พวกเขาดูเหมือนจะเข้าใจล่วงหน้าว่าฉันไม่มี ฉันสนใจเป็นพิเศษในผลกระทบต่อการใช้หน่วยความจำ ฉันกำลังโหลดข้อมูลบางส่วนลงในฐานข้อมูลจากชุดของไฟล์ (ประมาณ 5 ล้านแถวโดยรวม) และเซสชันของฉันล้มเหลวเป็นครั้งคราว - เป็นฐานข้อมูลขนาดใหญ่และเครื่องที่มีหน่วยความจำไม่มาก ฉันสงสัยว่าถ้าฉันใช้มากเกินไปcommit()และไม่เพียงพอที่จะflush()โทร - แต่ถ้าไม่เข้าใจจริงๆว่าความแตกต่างคืออะไรมันยากที่จะบอก!
422 python  sqlalchemy 


30
แปลงวัตถุแถว sqlalchemy เพื่อหลามพจน์
มีวิธีง่ายๆในการวนซ้ำของชื่อคอลัมน์และคู่ค่าหรือไม่? เวอร์ชั่น sqlalchemy ของฉันคือ 0.5.6 นี่คือตัวอย่างรหัสที่ฉันพยายามใช้ dict (แถว) แต่มันมีข้อยกเว้น TypeError: วัตถุ 'ผู้ใช้' ไม่สามารถทำซ้ำได้ import sqlalchemy from sqlalchemy import * from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker print "sqlalchemy version:",sqlalchemy.__version__ engine = create_engine('sqlite:///:memory:', echo=False) metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) metadata.create_all(engine) class User(declarative_base()): …
240 python  sqlalchemy 

6
SQLAlchemy IN clause
ฉันพยายามที่จะทำแบบสอบถามนี้ใน sqlalchemy SELECT id, name FROM user WHERE id IN (123, 456) ฉันต้องการผูกรายการ[123, 456]ณ เวลาดำเนินการ
237 python  sqlalchemy 

8
วิธีดำเนินการ SQL ดิบในแอพ Flask-SQLAlchemy
คุณรัน SQL ดิบใน SQLAlchemy ได้อย่างไร? ฉันมีเว็บแอพไพ ธ อนที่ทำงานบนขวดและส่วนต่อประสานกับฐานข้อมูลผ่าน SQLAlchemy ฉันต้องการวิธีเรียกใช้ SQL ดิบ แบบสอบถามเกี่ยวข้องกับการรวมหลายตารางพร้อมกับมุมมองแบบอินไลน์ ฉันพยายามแล้ว: connection = db.session.connection() connection.execute( <sql here> ) แต่ฉันได้รับข้อผิดพลาดเกตเวย์

25
SqlAlchemy ส่งผลต่อ JSON อย่างไร
Django มีการเรียงลำดับอัตโนมัติที่ดีของโมเดล ORM ที่ส่งคืนจาก DB เป็นรูปแบบ JSON วิธีการซีเรียลไลซ์คิวรี SQLAlchemy เป็นผลลัพธ์ในรูปแบบ JSON ฉันพยายามjsonpickle.encodeแต่มันเข้ารหัสวัตถุแบบสอบถามเอง ฉันพยายามjson.dumps(items)แต่มันกลับมา TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable มันยากจริงๆหรือไม่ที่จะทำให้ลำดับวัตถุ SQLAlchemy ORM เป็น JSON / XML เป็นลำดับ? ไม่มี serializer เริ่มต้นสำหรับมันหรือไม่? มันเป็นงานที่พบบ่อยมากในการเรียงลำดับผลลัพธ์การค้นหา ORM ในปัจจุบัน สิ่งที่ฉันต้องการคือเพียงเพื่อส่งคืนการแสดงข้อมูล JSON หรือ XML ของผลการสืบค้น SQLAlchemy SQLAlchemy วัตถุแบบสอบถามผลลัพธ์ในรูปแบบ JSON / XML จำเป็นต้องใช้ใน javascript …
192 python  json  sqlalchemy 

4
ใช้หรือใน SQLAlchemy
ฉันได้ดูเอกสารแล้วและฉันไม่สามารถหาวิธีที่จะทำแบบสอบถาม OR ใน SQLAlchemy ได้ ฉันแค่ต้องการทำแบบสอบถามนี้ SELECT address FROM addressbook WHERE city='boston' AND (lastname='bulger' OR firstname='whitey') ควรเป็นสิ่งที่ชอบ addr = session.query(AddressBook).filter(City == "boston").filter(????)
191 python  sqlalchemy 

6
SQLAlchemy DateTime เริ่มต้น
นี่คือรูปแบบการประกาศของฉัน: import datetime from sqlalchemy import Column, Integer, DateTime from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Test(Base): __tablename__ = 'test' id = Column(Integer, primary_key=True) created_date = DateTime(default=datetime.datetime.utcnow) อย่างไรก็ตามเมื่อฉันพยายามนำเข้าโมดูลนี้ฉันได้รับข้อผิดพลาดนี้: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "orm/models2.py", line 37, in <module> class Test(Base): File "orm/models2.py", …
174 python  date  sqlalchemy 

2
sqlalchemy ไม่ซ้ำกันในหลายคอลัมน์
สมมติว่าฉันมีชั้นเรียนที่แสดงถึงสถานที่ สถานที่ "เป็น" สำหรับลูกค้า สถานที่จะถูกระบุด้วยรหัสอักขระ 10 ยูนิโค้ด "รหัสสถานที่" ควรไม่ซ้ำกันในสถานที่สำหรับลูกค้าที่เฉพาะเจาะจง The two below fields in combination should be unique customer_id = Column(Integer,ForeignKey('customers.customer_id') location_code = Column(Unicode(10)) ดังนั้นถ้าฉันมีลูกค้าสองคนลูกค้า "123" และลูกค้า "456" พวกเขาทั้งสองสามารถมีตำแหน่งที่เรียกว่า "main" แต่ไม่สามารถมีสองตำแหน่งที่เรียกว่า main ฉันสามารถจัดการกับเรื่องนี้ในตรรกะทางธุรกิจ แต่ฉันต้องการให้แน่ใจว่าไม่มีวิธีที่จะเพิ่มความต้องการใน sqlalchemy ได้อย่างง่ายดาย ดูเหมือนว่าตัวเลือกที่ไม่ซ้ำกัน = True จะทำงานเฉพาะเมื่อนำไปใช้กับเขตข้อมูลที่เฉพาะเจาะจงและมันจะทำให้ทั้งตารางมีรหัสที่ไม่ซ้ำกันสำหรับทุกสถานที่
174 python  sqlalchemy 

7
SQLAlchemy: พิมพ์แบบสอบถามจริง
ฉันต้องการพิมพ์ SQL ที่ถูกต้องสำหรับแอปพลิเคชันของฉันรวมถึงค่ามากกว่าผูกพารามิเตอร์ แต่ไม่ชัดเจนว่าจะทำอย่างไรใน SQLAlchemy (โดยการออกแบบฉันค่อนข้างแน่ใจ) มีใครแก้ไขปัญหานี้ในลักษณะทั่วไป?
165 python  sqlalchemy 

8
SQLAlchemy นั้นมีค่าเทียบเท่ากับ getango หรือ get_or_create ของ Django หรือไม่
ฉันต้องการรับวัตถุจากฐานข้อมูลถ้ามันมีอยู่แล้ว (ขึ้นอยู่กับพารามิเตอร์ที่ให้ไว้) หรือสร้างมันถ้ามันไม่ได้ Django's get_or_create(หรือแหล่งที่มา ) ทำสิ่งนี้ มีทางลัดที่เทียบเท่าใน SQLAlchemy หรือไม่? ฉันกำลังเขียนมันออกมาอย่างชัดเจนเช่นนี้: def get_or_create_instrument(session, serial_number): instrument = session.query(Instrument).filter_by(serial_number=serial_number).first() if instrument: return instrument else: instrument = Instrument(serial_number) session.add(instrument) return instrument

4
ฉันจะทราบได้อย่างไรว่าฉันสามารถปิดใช้งาน SQLALCHEMY_TRACK_MODIFICATIONS ได้หรือไม่
ทุกครั้งที่ฉันเรียกใช้แอปที่ใช้ Flask-SQLAlchemy ฉันจะได้รับคำเตือนต่อไปนี้ว่าSQLALCHEMY_TRACK_MODIFICATIONSตัวเลือกจะถูกปิดใช้งาน /home/david/.virtualenvs/flask-sqlalchemy/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') ฉันพยายามค้นหาว่าตัวเลือกนี้ทำอะไรได้บ้าง แต่เอกสารของ Flask-SQLAlchemy …

8
ข้อความแสดงข้อผิดพลาด SQLAlchemy แปลก ๆ : TypeError: วัตถุ 'dict' ไม่รองรับการทำดัชนี
ฉันใช้ SQL ที่สร้างขึ้นด้วยมือเพื่อดึงข้อมูลจากฐานข้อมูล PG โดยใช้ SqlAlchemy ฉันพยายามค้นหาที่มี SQL เช่นผู้ประกอบการ '%' และที่ดูเหมือนว่าจะโยน SqlAlcjhemy ผ่านวง: sql = """ SELECT DISTINCT u.name from user u INNER JOIN city c ON u.city_id = c.id WHERE c.designation=upper('fantasy') AND c.id IN (select id from ref_geog where short_name LIKE '%opt') """ # The last line in the …

5
จะอัพเดตรายการแถว SQLAlchemy ได้อย่างไร?
ตารางสมมติมีสามคอลัมน์: username, และpasswordno_of_logins เมื่อผู้ใช้พยายามเข้าสู่ระบบระบบจะตรวจสอบรายการที่มีข้อความค้นหาเช่น user = User.query.filter_by(username=form.username.data).first() หากรหัสผ่านตรงกันเขาจะดำเนินการต่อไป สิ่งที่ฉันต้องการจะทำคือนับจำนวนครั้งที่ผู้ใช้เข้าสู่ระบบดังนั้นเมื่อใดก็ตามที่เข้าสู่ระบบสำเร็จฉันต้องการเพิ่มno_of_loginsฟิลด์และเก็บกลับไปที่ตารางผู้ใช้ ฉันไม่แน่ใจว่าจะเรียกใช้ update query กับ SqlAlchemy ได้อย่างไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.