Newer
Older
from ..database import db
from .category import Category
class Project(db.Model):
id = db.Column(db.Integer, primary_key=True)
proposer = db.Column(db.String, nullable=False)
on_behalf = db.Column(db.String)
title = db.Column(db.String, nullable=False)
description = db.Column(db.String, nullable=False)
background_skills = db.Column(db.String)
category = db.Column(db.String, db.ForeignKey(Category.code), nullable=False)

Andrea Callia D'Iddio
committed
is_remote = db.Column(db.Boolean)
proposed_start_date = db.Column(db.Date)
duration_in_weeks = db.Column(db.Integer)
is_part_time = db.Column(db.Boolean)
is_lab_based = db.Column(db.Boolean)
timestamp = db.Column(db.DateTime, nullable=False, server_default=utcnow())
deleted = db.Column(db.DateTime)
Andrea Callia D'Iddio
committed
shortlistings = db.relationship(
"Shortlisting", backref="project", lazy=True, cascade="all,delete-orphan"
)
def is_student_proposal(self) -> bool:
return self.on_behalf is not None and self.on_behalf != ""