contract entity: from api.extensions import db from sqlalchemy.sql import expression
contracts_users = db.Table("contracts_users", db.Column("contract_id" , db.Integer, db.ForeignKey( "contracts.id"), primary_key=True), db.Column("user_uin", db.Integer, db.ForeignKey( "users.uin"), primary_key=True) ) contracts_vendors = db.Table("contracts_vendors", db.Column("contract_id" , db.Integer, db.ForeignKey( "contracts.id"), primary_key=True), db.Column("vendor_id" , db.Integer, db.ForeignKey( "vendors.id"), primary_key=True) ) contracts_permissions = db.Table("styles_permissions_contract", db.Column("permission_id" , db.Integer, db.ForeignKey( "styles_permissions.id"), primary_key= True), db.Column("contract_id" , db.Integer, db.ForeignKey( "contracts.id"), primary_key=True) ) class Contract(db.Model): __tablename__ = 'contracts' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), unique=True, nullable=False) image_url = db.Column(db.String(255), nullable=False, server_default= "/assets/img/alvest/card-default.png") alvest_enabled = db.Column( db.Boolean, nullable=False, server_default=expression.false()) users = db.relationship('User', secondary=contracts_users, backref=db.backref('contracts', lazy=True)) vendors = db.relationship('Vendor', secondary=contracts_vendors, backref=db.backref('contracts', lazy=True)) permissions = db.relationship('Permission', secondary =contracts_permissions, backref=db.backref('contracts', lazy=True )) def __repr__(self): return f"(name: {self.name}, image_url: {self.image_url}," \ f"alvest_enabled: {self.alvest_enabled}" permission entity: from api.extensions import db from sqlalchemy.sql import expression class Permission(db.Model): __tablename__ = 'styles_permissions' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), unique=True, nullable=False) description = db.Column(db.String(255), unique=True, nullable=False) instruction = db.Column(db.String(255), autoincrement=False) url = db.Column(db.Integer, autoincrement=False) def __repr__(self): return f"'id': '{self.id}', 'name': '{self.name}', 'description': ' {self.description}, 'instruction': '{self.instruction}', 'url': '{self.url} '" the joining table is within the contractentity... Thanks for this by the way, much appreciated On Thursday, May 28, 2020 at 6:35:34 PM UTC+1, Jonathan Vanasco wrote: > > What is the code for PermissionEntity, ContractEntity, and the joining > table? > > it will look like this > https://docs.sqlalchemy.org/en/13/orm/basic_relationships.html#one-to-many > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/3c5b168a-0a46-41bf-b920-3ebccdeab8bc%40googlegroups.com.