diff --git a/src/models.py b/src/models.py index 71684938b56a37e6fca3769a58f093b21f726735..653cd17406f90df98e6a591f57cdc2e3eaee3c87 100644 --- a/src/models.py +++ b/src/models.py @@ -20,10 +20,11 @@ import datetime -from sqlalchemy import create_engine, Column, DateTime, String, Integer, Boolean -from sqlalchemy.event import listen -from flask_sqlalchemy import SQLAlchemy -from flask_marshmallow import Marshmallow +from sqlalchemy import create_engine, Column, DateTime, String, Integer, Boolean +from sqlalchemy.event import listen +from flask_sqlalchemy import SQLAlchemy +from flask_marshmallow import Marshmallow +from marshmallow import Schema, fields, post_dump db = SQLAlchemy() ma = Marshmallow() @@ -163,6 +164,14 @@ class PlayLogSchema(ma.SQLAlchemyAutoSchema): model = PlayLog sqla_session = db.session + SKIP_VALUES = set([None]) + + @post_dump + def remove_skip_values(self, data, many=False): + return { + key: value for key, value in data.items() + if value not in self.SKIP_VALUES + } class TrackSchema(ma.SQLAlchemySchema):