From cb46dbad9655de897a7bccccf9a4cf09dad7d94e Mon Sep 17 00:00:00 2001
From: denisri <denis.riviere.gm@gmail.com>
Date: Thu, 14 May 2020 18:13:15 +0200
Subject: [PATCH] break a cyclic reference loop which prevents objects deletion

---
 python/populse_db/database.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/python/populse_db/database.py b/python/populse_db/database.py
index cfa5d42..df0743f 100644
--- a/python/populse_db/database.py
+++ b/python/populse_db/database.py
@@ -14,6 +14,7 @@
 import re
 import types
 from datetime import date, time, datetime
+import weakref
 
 import dateutil.parser
 import six
@@ -391,8 +392,8 @@ def __init__(self, database, session):
         :param session: Session instance attached to the Database instance
         """
 
-        self.database = database
-        self.session = session
+        self.database = weakref.proxy(database)
+        self.session = weakref.proxy(session)
 
         # Database opened
         self.metadata = MetaData()