Gunakan sqlalchemy dalam kelalang python untuk mencipta jadual seperti berikut:
class Role(db.Model):
__tablename__ = 'roles'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
default = db.Column(db.Boolean, default=False, index=True)
permissions = db.Column(db.Integer)
users = db.relationship('User', backref='role', lazy='dynamic')
Hasil pertanyaan semasa adalah seperti berikut:
In [8]: Role.query.filter_by(name='User').first()
Out[8]: <app.models.Role at 0x159211982b0>
Apa yang kami dapat ialah objek set pertanyaan Adakah terdapat sebarang cara untuk mencetak semua kandungan objek ini? Daripada hanya mendapat satu harta objek ini setiap kali seperti berikut? Juga, bagaimana untuk mencetak pernyataan SQL yang sebenarnya dilaksanakan semasa melaksanakan pernyataan ini?
In [7]: Role.query.filter_by(name='User').first().permissions
Out[7]: 7
Ini lebih kepada operasi
sqlalchemy
itu sendiri.Apa yang saya tahu ialah apabila menggunakan
sqlalchemy
. Katakan ada pertanyaan seperti berikut:Lakukan terus:
Anda boleh mencetak penyata sql sebenar. Dan anda boleh melakukan output dialek untuk data yang berbeza, seperti berikut:
Jadi dalam falsk Kerana
flask-sqlalchemy
itu sendiri hanyalah pakejflask-sqlalchemy
本身只是对sqlalchemy
. Pendekatan yang sama harus digunakanJika saya ingat betul, hanya gunakan str (model anda) secara terus
Cetak pernyataan sql yang dilaksanakan sebenar:
SQLALCHEMY_ECHO=True