Added relationships between database models
This commit is contained in:
parent
52b44128fa
commit
22878b5398
@ -17,7 +17,6 @@ class Entry(db.Model):
|
|||||||
email = db.Column(db.String(128), nullable=False)
|
email = db.Column(db.String(128), nullable=False)
|
||||||
club = db.Column(db.String(128), nullable=True)
|
club = db.Column(db.String(128), nullable=True)
|
||||||
test_id = db.Column(db.String(36), db.ForeignKey('test.id'))
|
test_id = db.Column(db.String(36), db.ForeignKey('test.id'))
|
||||||
test_code = db.Column(db.String(36), db.ForeignKey('test.code'))
|
|
||||||
user_code = db.Column(db.String(6), nullable=True)
|
user_code = db.Column(db.String(6), nullable=True)
|
||||||
start_time = db.Column(db.DateTime, nullable=False)
|
start_time = db.Column(db.DateTime, nullable=False)
|
||||||
end_time = db.Column(db.DateTime, nullable=True)
|
end_time = db.Column(db.DateTime, nullable=True)
|
||||||
@ -67,9 +66,8 @@ class Entry(db.Model):
|
|||||||
def complete(self):
|
def complete(self):
|
||||||
self.end_time = datetime.now()
|
self.end_time = datetime.now()
|
||||||
write('tests.log', f'Test completed by {self.get_first_name()} {self.get_surname()}.')
|
write('tests.log', f'Test completed by {self.get_first_name()} {self.get_surname()}.')
|
||||||
test = Test.query.filter_by(code=self.test_code).first()
|
delta = timedelta(minutes=self.test.time_limit)
|
||||||
delta = timedelta(minutes=test.time_limit)
|
if not self.test.time_limit or self.end_time <= self.start_time + delta:
|
||||||
if not test.time_limit or self.end_time <= self.start_time + delta:
|
|
||||||
self.status = 'finished'
|
self.status = 'finished'
|
||||||
self.valid = True
|
self.valid = True
|
||||||
else:
|
else:
|
||||||
|
@ -20,9 +20,10 @@ class Test(db.Model):
|
|||||||
start_date = db.Column(db.DateTime, nullable=True)
|
start_date = db.Column(db.DateTime, nullable=True)
|
||||||
end_date = db.Column(db.DateTime, nullable=True)
|
end_date = db.Column(db.DateTime, nullable=True)
|
||||||
time_limit = db.Column(db.Integer, nullable=True)
|
time_limit = db.Column(db.Integer, nullable=True)
|
||||||
creator = db.Column(db.String(36), db.ForeignKey('user.id'))
|
creator_id = db.Column(db.String(36), db.ForeignKey('user.id'))
|
||||||
data = db.Column(db.String(36), nullable=False)
|
data = db.Column(db.String(36), nullable=False)
|
||||||
adjustments = db.Column(JsonEncodedDict, nullable=True)
|
adjustments = db.Column(JsonEncodedDict, nullable=True)
|
||||||
|
entries = db.relationship('Entry', backref='test')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f'<test with code {self.code} was created by {current_user.get_username()}.>'
|
return f'<test with code {self.code} was created by {current_user.get_username()}.>'
|
||||||
|
@ -16,6 +16,7 @@ class User(UserMixin, db.Model):
|
|||||||
email = db.Column(db.String(128), nullable=False)
|
email = db.Column(db.String(128), nullable=False)
|
||||||
reset_token = db.Column(db.String(20), nullable=True)
|
reset_token = db.Column(db.String(20), nullable=True)
|
||||||
verification_token = db.Column(db.String(20), nullable=True)
|
verification_token = db.Column(db.String(20), nullable=True)
|
||||||
|
tests = db.relationship('Test', backref='creator')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f'<user {self.username}> was added with <id {self.id}>.'
|
return f'<user {self.username}> was added with <id {self.id}>.'
|
||||||
|
Loading…
Reference in New Issue
Block a user