Skip to content
Snippets Groups Projects
Commit 2e1c97fe authored by Abuzar Chitsaz's avatar Abuzar Chitsaz
Browse files

Définir la relation entre Projects et Prototypes avec une suppression en...

Définir la relation entre Projects et Prototypes avec une suppression en cascade afin d'effacer tous les prototypes reliés à un projet lors de sa suppression
parent 09d7b974
No related branches found
No related tags found
No related merge requests found
No preview for this file type
from flask_sqlalchemy import SQLAlchemy
from flask_login import UserMixin, LoginManager
from sqlalchemy.orm import relationship
db = SQLAlchemy()
login_manager = LoginManager()
......@@ -23,20 +24,23 @@ class Clients(db.Model):
projects = db.relationship('Projects', backref='clients', lazy=True)
class Projects(db.Model):
__tablename__ = 'projects'
projectID = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=False)
name = db.Column(db.String(100), nullable=False)
userID = db.Column(db.Integer, db.ForeignKey('users.userID'), nullable=False)
clientID = db.Column(db.Integer, db.ForeignKey('clients.clientID'), nullable=False)
prototypes = db.relationship('Prototypes', backref='projects', lazy=True)
prototypes = relationship('Prototypes', backref='project', cascade="all, delete-orphan")
class Prototypes(db.Model):
__tablename__ = 'prototypes'
prototypeID = db.Column(db.Integer, primary_key=True)
description = db.Column(db.String(200), nullable=False)
projectID = db.Column(db.Integer, db.ForeignKey('projects.projectID'), nullable=False)
description = db.Column(db.Text, nullable=True)
creationDate = db.Column(db.Date, nullable=False)
images = db.relationship('Images', backref='prototypes', lazy=True)
images = relationship('Images', backref='prototype', cascade="all, delete-orphan")
class Images(db.Model):
__tablename__ = 'images'
imageID = db.Column(db.Integer, primary_key=True)
prototypeID = db.Column(db.Integer, db.ForeignKey('prototypes.prototypeID'), nullable=False)
imageData = db.Column(db.LargeBinary, nullable=True) # Utilisation de LargeBinary pour les données BLOB
imageData = db.Column(db.LargeBinary, nullable=False) # Utilisation de LargeBinary pour les données BLOB
prototypeID = db.Column(db.Integer, db.ForeignKey('prototypes.prototypeID'), nullable=False)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment