[PYTHON] En connexion et guimauve-sqlalchemy, supprimé l'apparence de "Le champ peut ne pas être nul."

Cela a fonctionné pour le moment! Mais il semble y avoir un meilleur moyen.

environnement

requirement.txt


#Extrait
connexion==2.7.0
marshmallow-sqlalchemy==0.23.1
marshmallow==3.7.1
sqlalchemy==1.3.18
flask-marshmallow==0.13.0
flask-migrate==2.5.3
flask-sqlalchemy==2.4.4
flask==1.1.2

Colonne en question

model.py


hoge_date = db.Column(db.Date(), nullable=False, default=date.fromisoformat('2099-12-31'))

contenu de l'erreur

console.log


marshmallow.exceptions.ValidationError: {'hoge_date': ['Field may not be null.']}

Faire face

schema.py


class HogeSchema(ma.SQLAlchemyAutoSchema):
    class Meta:
        model = Hoge

    #Ajoute ça
    @pre_load
    def remove_has_defalt_key_if_none(self, in_data: dict, **kwargs):
        if in_data.get('hoge_date') is None:
            in_data.pop('hoge_date', None)
        return in_data

Recommended Posts

En connexion et guimauve-sqlalchemy, supprimé l'apparence de "Le champ peut ne pas être nul."
Téléchargez et gérez les packages qui ne sont pas dans conda sur anaconda.org