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

SQLAlchemy với mặc định dataclass không điền cơ sở dữ liệu postgres

Kể từ ''0 tương ứng là các giá trị trả về mặc định của str()int() , bạn có thể sử dụng mã sau để chèn các giá trị mặc định:

@dataclass
class Person:
    id: int = None
    name: str = field(default_factory=str)
    age: int = field(default_factory=int)
    hobbies: List[str] = field(default_factory=list)
    birthday: datetime = field(default_factory=datetime)

Rất tiếc, vì một số lý do, sử dụng default tham số của field() chức năng không hoạt động như chúng tôi mong đợi (có thể là lỗi của dataclasses phản hồi hoặc hiểu nhầm ...). Nhưng bạn vẫn có thể sử dụng default_factory để chỉ định các giá trị khác biệt với ''0 sử dụng lambda :

@dataclass
class Person:
    id: int = None
    name: str = field(default_factory=lambda: 'john doe')
    age: int = field(default_factory=lambda: 77)
    hobbies: List[str] = field(default_factory=list)
    birthday: datetime = field(default_factory=datetime)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi không thể truy vấn trực tiếp trên jsonb_array_elements?

  2. Lỗi Sequelize:Không tồn tại quan hệ

  3. Tính tổng tích lũy hàng ngày trong PostgreSQL

  4. Tự động quay lại trong postgres bằng PDO

  5. pg gem Trace / BPT trap:5 lỗi trên MAC OS X lion