sql >> Databáze >  >> RDS >> PostgreSQL

Jak mohu objednat pomocí vlastní funkce v SQLAlchemy

Své vyhledávání můžete implementovat pomocí CASE výraz v 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)

Toto používá hodnota zkratka případu case() konstrukt pro vytvoření výrazu, který porovná daný sloupcový výraz s klíči předanými ve slovníku, což ve výsledku poskytne namapované hodnoty.




  1. Jak spočítat počet výskytů pro všechny různé hodnoty ve sloupci databáze?

  2. Proč dostanu ActionView::Template::Error:nedefinovaná metoda `name' pro nil:NilClass na Heroku, ale ne lokálně

  3. Skriptujte celou databázi SQL-Server

  4. PostgreSQL JOIN s typem pole s pořadím prvků pole, jak implementovat?