PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

sqlalchemy membuat VIEW dengan ORM

perpustakaan sqlalchemy-utils sekarang menyertakan fungsionalitas untuk membuat tampilan, dan mengaitkan tampilan dengan metadata sqlalchemy sehingga memungkinkan untuk membuat tampilan menggunakan Base.metadata.create_all

contoh:

# installation: pip install sqlalchemy-utils
from sqlalchemy_utils import create_view
from sqlalchemy import select, func

# engine Base & Table declaration elided for brevity

stmt = select([
    TableB.id.label('table_b_id'),
    TableB.coupon_code,
    TableB.number_of_rebought_items,
    TableA.id.label('table_a_action_id'),
    TableA.time,
    TableA.parameters
]).select_from(TableB.__table__.outerjoin(TableA, TableB.generate_action == TableA.id))

# attaches the view to the metadata using the select statement
view = create_view('my_view', stmt, Base.metadata)

# provides an ORM interface to the view
class MyView(Base):
    __table__ = view

# will create all tables & views defined with ``create_view``
Base.metadata.create_all()

# At this point running the following yields 0, as expected,
# indicating that the view has been constructed on the server 
engine.execute(select([func.count('*')], from_obj=MyView)).scalar() 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengaktifkan ekstensi tanpa aksen pada model yang sudah ada?

  2. Apakah kasus penting ketika 'otomatis' memuat data dari S3 ke tabel Redshift?

  3. pg_dump dan pg_restore Postgresql di berbagai versi utama?

  4. Tidak dapat mengubah properti read-only transaksi di tengah transaksi

  5. Jumlahkan beberapa rentang tanggal dalam satu kueri?