PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

SQLAlchemy z domyślną klasą danych nie wypełnia bazy danych postgres

Od '' i 0 są odpowiednio domyślnymi zwracanymi wartościami str() i int() funkcji, możesz użyć następującego kodu, aby wstawić te wartości domyślne:

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

Niestety z jakiegoś powodu używanie default parametr field() funkcja nie działa tak, jak moglibyśmy się spodziewać (może to być błąd dataclasses backport lub nieporozumienie...). Ale nadal możesz użyć default_factory aby określić wartości inne niż '' i 0 za 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać rekordy z ostatnich 24 godzin w PostgreSQL?

  2. docker-compose restart postgres po uruchomieniu skryptów w docker-entrypoint-initdb.d

  3. Kopia zapasowa i przywracanie bazy danych PostgreSQL i konfiguracja środowiska localhost z laravelem w systemie Windows 7

  4. Migracja ActiveRecord nie wypełnia zmaterializowanego widoku Postgres

  5. Nie można odjąć dat naiwnych dla offsetu i uwzględniających offset