sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan kan jeg bestille efter en brugerdefineret funktion i SQLAlchemy

Du kan implementere dit opslag med en CASE udtryk i 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)

Dette bruger værdi stenografi af sagen() konstruktion for at producere et udtryk, der sammenligner det givne kolonneudtryk med de nøgler, der sendes i ordbogen, hvilket giver de tilknyttede værdier som resultat.




  1. Oracle 12c-serveren kan ikke tilgås fra fjerncomputeren ved hjælp af .Net-udbyderen

  2. Hvordan kan jeg starte PostgreSQL på Windows?

  3. Flet lange/lat-punkter inden for en afgrænsningsramme afhængigt af en radius i MySQL

  4. Mest effektive tilgang til flersproget PHP-websted