sql >> データベース >  >> RDS >> PostgreSQL

データクラスがデフォルトのSQLAlchemyがpostgresデータベースにデータを入力しない

    ''以降 および0 それぞれstr()のデフォルトの戻り値です およびint() 関数の場合、次のコードを使用してそれらのデフォルトを挿入できます。

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

    残念ながら、何らかの理由で、defaultを使用しています field()のパラメータ 関数が期待どおりに機能しません(dataclassesのバグである可能性があります) バックポートまたは誤解...)。ただし、default_factoryは引き続き使用できます。 ''とは異なる値を指定する および0 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. Oracle:クエリタイムアウトの設定

    2. Not PersistText値はどういう意味ですか?

    3. 大きなテーブルにインデックスを追加するには、永遠に時間がかかります

    4. Hibernateスキームの命名はOS間で異なります