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

Bagaimana saya bisa memesan dengan fungsi khusus di SQLAlchemy

Anda dapat menerapkan pencarian dengan CASE ekspresi dalam SQL:

from sqlalchemy import case

_event_type_lookup = dict(received=0, open=1, done=2)

class Trades(Base):
    ...
    @hybrid_property
    def event_type_to_integer(self):
        return _event_type_lookup[self.event_type]

    @event_type_to_integer.expression
    def event_type_to_integer(cls):
        return case(_event_type_lookup, value=cls.event_type)

Ini menggunakan value singkatan dari case() konstruksi untuk menghasilkan ekspresi yang membandingkan ekspresi kolom yang diberikan dengan kunci yang diteruskan dalam kamus, menghasilkan nilai yang dipetakan sebagai hasilnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa PostgreSQL (9.1) tidak menggunakan indeks untuk pemilihan kesetaraan sederhana?

  2. Cara memeriksa status server PostgreSQL Mac OS X

  3. Bagaimana cara menggabungkan hanya satu baris dalam tabel yang digabungkan dengan postgres?

  4. Bagaimana cara menggunakan kelas pqxx::stateless_cursor dari libpqxx?

  5. Cara Mengidentifikasi Masalah Kinerja PostgreSQL dengan Kueri Lambat