From 0376cdf4e05d6d154c15f68415ac5de09e12d492 Mon Sep 17 00:00:00 2001 From: "Phyks (Lucas Verney)" Date: Wed, 6 Dec 2017 19:03:25 +0100 Subject: [PATCH] Fix a bug with Flat.from_dict --- flatisfy/models/flat.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/flatisfy/models/flat.py b/flatisfy/models/flat.py index f7d6eb0..c3a68a9 100644 --- a/flatisfy/models/flat.py +++ b/flatisfy/models/flat.py @@ -11,7 +11,7 @@ import arrow import enum from sqlalchemy import ( - Column, DateTime, Enum, Float, SmallInteger, String, Text + Column, DateTime, Enum, Float, SmallInteger, String, Text, inspect ) from sqlalchemy.orm import validates @@ -175,11 +175,9 @@ class Flat(BASE): ) del flat_dict["flatisfy"] - flat_object = Flat() - # Using a __dict__.update() call to make it work even if there are - # extra keys in flat_dict which are not valid kwargs for Flat model. - flat_object.__dict__.update(flat_dict) - return flat_object + flat_dict = {k: v for k, v in flat_dict.items() + if k in inspect(Flat).columns.keys()} + return Flat(**flat_dict) def __repr__(self): return "" % (self.id, self.urls)