Skip to content

Commit 46ec8ab

Browse files
committed
Merge branch 'fix-multiple-models-created'
2 parents 7b17ec5 + 1c1f790 commit 46ec8ab

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

flask_session/sessions.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -439,23 +439,27 @@ def __init__(self, app, db, table, key_prefix, use_signer=False):
439439
self.key_prefix = key_prefix
440440
self.use_signer = use_signer
441441

442-
class Session(self.db.Model):
443-
__tablename__ = table
442+
if table not in self.db.metadata:
444443

445-
id = self.db.Column(self.db.Integer, primary_key=True)
446-
session_id = self.db.Column(self.db.String(256), unique=True)
447-
data = self.db.Column(self.db.Text)
448-
expiry = self.db.Column(self.db.DateTime)
444+
class Session(self.db.Model):
445+
__tablename__ = table
449446

450-
def __init__(self, session_id, data, expiry):
451-
self.session_id = session_id
452-
self.data = data
453-
self.expiry = expiry
447+
id = self.db.Column(self.db.Integer, primary_key=True)
448+
session_id = self.db.Column(self.db.String(256), unique=True)
449+
data = self.db.Column(self.db.Text)
450+
expiry = self.db.Column(self.db.DateTime)
454451

455-
def __repr__(self):
456-
return '<Session data %s>' % self.data
452+
def __init__(self, session_id, data, expiry):
453+
self.session_id = session_id
454+
self.data = data
455+
self.expiry = expiry
457456

458-
self.sql_session_model = Session
457+
def __repr__(self):
458+
return '<Session data %s>' % self.data
459+
460+
self.sql_session_model = db.session_ext_session_model = Session
461+
else:
462+
self.sql_session_model = db.session_ext_session_model
459463

460464
def open_session(self, app, request):
461465
sid = request.cookies.get(app.session_cookie_name)

0 commit comments

Comments
 (0)