37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
# -*- coding: UTF-8 -*
|
|
|
|
"""ScoDoc8 models : departements
|
|
"""
|
|
from typing import Any
|
|
|
|
from app import db
|
|
from app.models import SHORT_STR_LEN
|
|
|
|
|
|
class Departement(db.Model):
|
|
"""Un département ScoDoc"""
|
|
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
acronym = db.Column(db.String(SHORT_STR_LEN), nullable=False, index=True)
|
|
description = db.Column(db.Text())
|
|
date_creation = db.Column(db.DateTime(timezone=True), server_default=db.func.now())
|
|
visible = db.Column(
|
|
db.Boolean(), nullable=False, default=True, server_default="true"
|
|
) # sur page d'accueil
|
|
|
|
entreprises = db.relationship("Entreprise", lazy="dynamic", backref="departement")
|
|
etudiants = db.relationship("Identite", lazy="dynamic", backref="departement")
|
|
formations = db.relationship(
|
|
"NotesFormation", lazy="dynamic", backref="departement"
|
|
)
|
|
formsemestres = db.relationship(
|
|
"FormSemestre", lazy="dynamic", backref="departement"
|
|
)
|
|
preferences = db.relationship(
|
|
"ScoPreference", lazy="dynamic", backref="departement"
|
|
)
|
|
semsets = db.relationship("NotesSemSet", lazy="dynamic", backref="departement")
|
|
|
|
def __repr__(self):
|
|
return f"<Departement {self.acronym}>"
|