PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để tôi có thể sắp xếp theo một hàm tùy chỉnh trong SQLAlchemy

Bạn có thể triển khai tra cứu của mình bằng CASE biểu thức trong 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)

Điều này sử dụng giá trị viết tắt của trường hợp () cấu trúc để tạo ra một biểu thức so sánh biểu thức cột đã cho với các khóa được truyền trong từ điển, kết quả là các giá trị được ánh xạ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Quá trình xóa PostgresSql 9.6 đột nhiên trở nên chậm chạp

  2. Làm cách nào để lấy một mục ngẫu nhiên từ cơ sở dữ liệu trong Django / postgreSQL?

  3. Tại sao giao dịch có thể tuần tự hóa của PostgreSQL lại nghĩ rằng đây là xung đột?

  4. Thêm tháng vào một ngày trong PostgreSQL

  5. flask-migrate không thể thả bảng vì các đối tượng khác phụ thuộc vào nó