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

SQLAlchemy s výchozí datovou třídou nenaplňuje postgresovou databázi

Od '' a 0 jsou výchozí vrácené hodnoty str() a int() funkce, můžete použít následující kód k vložení těchto výchozích hodnot:

@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)

Bohužel z nějakého důvodu pomocí default parametr field() funkce nefunguje, jak bychom mohli očekávat (může to být chyba dataclasses backport nebo nedorozumění...). Stále však můžete použít default_factory specifikovat hodnoty odlišné od '' a 0 pomocí 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. Sdílení a generování ID jako instagram

  2. Ukládání prohledávatelných polí do pole databáze SQL

  3. Existuje způsob, jak omezit nebo omezit zdroje používané uživatelem v Oracle?

  4. chyba syntaxe při deklaraci proměnných v proceduře pl/sql