PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak mogę zamówić za pomocą funkcji niestandardowej w SQLAlchemy?

Możesz zaimplementować wyszukiwanie za pomocą CASE wyrażenie w 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)

Używa to wartość skrót case() konstrukcją, aby utworzyć wyrażenie, które porównuje podane wyrażenie kolumny z kluczami przekazanymi w słowniku, dając w wyniku odwzorowane wartości.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja pętli nie działa zgodnie z oczekiwaniami

  2. Jak pisać wielką literą każdego słowa w PostgreSQL

  3. Get Error:Musisz zainstalować co najmniej jeden pakiet postgresql-client-<wersja> podczas wdrażania do heroku

  4. Cygnus-NGSI nie zapisuje danych w PostgreSQL

  5. PostgreSQL używający pg_trgm wolniej niż pełne skanowanie