class UserUserfile(Base): """ Relation between a user and a file """ # create with: # UserUserfile(Userfile("folder","file"), user, permission=7) # check with: # uufile = session.query(UserUserfile).filter(UserUserfile.user_id==1,UserUserfile.userfile_id==2).first().permission __tablename__ = 'user_userfile' user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True) userfile_id = db.Column(db.Integer, db.ForeignKey('userfile.id'), primary_key=True) permission = db.Column(db.String(50)) # bidirectional attribute/collection of "user"/"user_userfiles" user = db.relationship(User, backref=db.backref("user_userfiles", cascade="all, delete-orphan")) # reference to the "Keyword" object userfile = db.relationship("Userfile") def __init__(self, userfile=None, user=None, permission=None): """ Create a new releation between a user and a file :param Userfile userfile: The file for the relationship :param User user: the user for the relationship :param string permission: the permissions for the user """ self.user = user self.userfile = userfile self.permission = permission
class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(150)) author = db.Column(db.String(75)) body = db.Column(db.String(800)) image_path = db.Column(db.String(100)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) def __repr__(self): return '<Post {}>'.format(self.body) def save_changes(self, form, file, userId, new=False): self.title = form.title.data self.author = form.author.data self.body = form.body.data self.user_id = userId if file: filename = secure_filename(file.filename) fileextension = filename.rsplit('.', 1)[1] Randomfilename = id_generator() filename = Randomfilename + '.' + fileextension try: blob_service.create_blob_from_stream(blob_container, filename, file) if self.image_path: blob_service.delete_blob(blob_container, self.image_path) except Exception: flash(Exception) self.image_path = filename if new: db.session.add(self) db.session.commit()
class Income_Expense(db.Model): __tablename__ = 'income_expense' id = db.Column(db.Integer, primary_key=True) category = db.Column(db.String(150)) date = db.Column(db.Date) amount = db.Column(db.Integer) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) def __repr__(self): return '<Amount {}>'.format(self.amount) def save_changes(self, form, userId, new=False): self.category = form.category.data self.amount = form.amount.data self.date = form.date.data self.user_id = userId if new: db.session.add(self) db.session.commit()