Skip to content

Commit

Permalink
Fix relationship in evaluation related models
Browse files Browse the repository at this point in the history
  • Loading branch information
keigohtr committed Jan 24, 2019
1 parent e57a8f2 commit 1fedc08
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
11 changes: 8 additions & 3 deletions drucker_dashboard/models/evaluation.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
from .dao import db
from sqlalchemy import (
Column, Integer, DateTime,
String, UniqueConstraint
String, UniqueConstraint,
ForeignKey
)
from sqlalchemy.orm import relationship
from sqlalchemy.orm import backref


class Evaluation(db.Model):
Expand All @@ -20,10 +22,13 @@ class Evaluation(db.Model):

evaluation_id = Column(Integer, primary_key=True, autoincrement=True)
checksum = Column(String(128), nullable=False)
application_id = Column(Integer, nullable=False)
application_id = Column(Integer, ForeignKey('applications.application_id', ondelete="CASCADE"), nullable=False)
data_path = Column(String(512), nullable=False)
register_date = Column(DateTime, default=datetime.datetime.utcnow, nullable=False)
evaluation_result = relationship('EvaluationResult', backref='evaluations', lazy='select', innerjoin=True)

application = relationship(
'Application', innerjoin=True,
backref=backref("evaluations", cascade="all, delete-orphan", passive_deletes=True))

@property
def serialize(self):
Expand Down
8 changes: 7 additions & 1 deletion drucker_dashboard/models/evaluation_result.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
Column, Integer, DateTime, Text,
UniqueConstraint, ForeignKey, String
)
from sqlalchemy.orm import relationship
from sqlalchemy.orm import backref


class EvaluationResult(db.Model):
Expand All @@ -20,10 +22,14 @@ class EvaluationResult(db.Model):
evaluation_result_id = Column(Integer, primary_key=True, autoincrement=True)
model_id = Column(Integer, nullable=False)
data_path = Column(String(512), nullable=False)
evaluation_id = Column(Integer, ForeignKey('evaluations.evaluation_id'), nullable=False)
evaluation_id = Column(Integer, ForeignKey('evaluations.evaluation_id', ondelete="CASCADE"), nullable=False)
_result = Column(Text, nullable=False)
register_date = Column(DateTime, default=datetime.datetime.utcnow, nullable=False)

evaluations = relationship(
'Evaluation', lazy='select', innerjoin=True,
backref=backref("evaluation_results", cascade="all, delete-orphan", passive_deletes=True))

@property
def result(self):
res = json.loads(self._result)
Expand Down

0 comments on commit 1fedc08

Please # to comment.