class Borrow(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) book_id = db.Column(db.Integer, db.ForeignKey('book.id'), nullable=False) returned = db.Column(db.Boolean) def __init__(self, user_id, book_id): self.returned = False self.user_id = user_id self.book_id = book_id def save(self): """Save a student to the database. This includes creating a new user and editing one. """ db.session.add(self) db.session.commit() def delete(self): """Delete a user from the database. """ db.session.delete(self) db.session.commit() def __repr__(self): return '<user_id %d>' % self.user_id
class ProjectEmployeeRole(db.Model): __tablename__ = 'Project_employee_role' rate = db.Column(db.Float(asdecimal=True), nullable=False) employee_id = db.Column(db.ForeignKey('Employee.id'), primary_key=True, nullable=False, index=True) project_id = db.Column(db.ForeignKey('Project.id'), primary_key=True, nullable=False, index=True) employee_role_id = db.Column(db.ForeignKey('Employee_role.id'), nullable=False, index=True) employee = db.relationship('Employee', lazy=True) employee_role = db.relationship('EmployeeRole', lazy=True) project = db.relationship('Project', lazy=True) def __init__(self, project_id, employee_id, employee_role_id, rate): self.project_id = project_id self.employee_id = employee_id self.employee_role_id = employee_role_id self.rate = rate
class UserRoles(db.Model): __tablename__ = 'user_roles' id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer(), db.ForeignKey('users.id', ondelete='CASCADE')) role_id = db.Column(db.Integer(), db.ForeignKey('roles.id', ondelete='CASCADE'))
class VideoLikes(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) video = db.Column(db.Integer(), db.ForeignKey("videos.id")) ocenio = db.Column(db.Integer(), db.ForeignKey("users.id")) def __repr__(self): return self.id
class Exercise(db.Model): id = db.Column(db.Integer, primary_key=True) exr_mg = db.Column(db.String(120)) exr_name = db.Column(db.String(120), nullable=False) exr_reps = db.Column(db.Integer) exr_sets = db.Column(db.Integer) exr_val = db.Column(db.Integer) day_id = db.Column(db.Integer, db.ForeignKey('day.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) weekly_values = db.relationship('Weekly_Value', backref='exercise', lazy='dynamic')
class KomentariNaVideu(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) komentar = db.Column(db.Text(400), nullable=False) napisano = db.Column(db.DateTime(), nullable=False, default=datetime.datetime.utcnow) video = db.Column(db.Integer(), db.ForeignKey("videos.id")) napisao = db.Column(db.Integer(), db.ForeignKey("users.id")) korisnici = db.relationship('Users', backref=db.backref('napisao', lazy='dynamic')) def __repr__(self): return self.id
class EmployeeReport(db.Model): __tablename__ = 'Employee_report' employee_id = db.Column(db.ForeignKey('Employee.id'), primary_key=True, nullable=False) hours_sum = db.Column(db.Integer, nullable=False) report_sprint_id = db.Column(db.ForeignKey('Report.sprint_id'), primary_key=True, nullable=False, index=True) employee = db.relationship('Employee') report_sprint = db.relationship('Report')
class Predio(db.Model): __tablename__ = 'PREDIOS' id = db.Column(db.Integer, primary_key=True) condgnrl = db.Column(db.String(240)) direccion = db.Column(db.String(120)) elimres = db.Column(db.String(120)) numadultos = db.Column(db.Integer) numninios = db.Column(db.Integer) proposito = db.Column(db.String(120)) protecventana = db.Column(db.String(120)) suministroagua = db.Column(db.String(120)) form = db.Column(db.Integer, db.ForeignKey('FORMULARIOS.id')) formulario = db.relationship('Criadero') def __init__(self, condgnrl=None, direccion=None, elimres=None, numadultos=None, numninios=None, proposito=None, protecventana=None, suministroagua=None, form=None): self.condgnrl = condgnrl self.direccion = direccion self.elimres = elimres self.numadultos = numadultos self.numninios = numninios self.proposito = proposito self.protecventana = protecventana self.suministroagua = suministroagua self.elimres = elimres self.form = form
class BlogPost(db.Model): __tablename__ = "blog_posts" id = db.Column(db.Integer, primary_key=True) # author = db.Column(db.String(250), nullable=False) title = db.Column(db.String(250), unique=True, nullable=False) subtitle = db.Column(db.String(250), nullable=False) date = db.Column(db.String(250), nullable=False) body = db.Column(db.Text, nullable=False) img_url = db.Column(db.String(250), nullable=False) # ------------ Parent relationship ------------ # comments = relationship("Comment", back_populates="parent_post") # ------------ Child relationship ------------ # # ------------ Child of : User # Create Foreign Key, "users.id" the users refers to the tablename of User. author_id = db.Column(db.Integer, db.ForeignKey('users.id')) # Create reference to the User object, the "posts" refers to the posts property in the User class. blogpost_author = relationship("User", back_populates="posts") def __init__(self, blogpost_author, title, subtitle, body, img_url): self.blogpost_author = blogpost_author self.title = title self.subtitle = subtitle self.body = body self.img_url = img_url self.date = fn_tools.get_date()
class Comment(db.Model): STATUS_PENDING_MODERATION = 0 STATUS_PUBLIC = 1 STATUS_SPAM = 8 STATUS_DELETED = 9 id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64)) email = db.Column(db.String(64)) url = db.Column(db.String(100)) ip_address = db.Column(db.String(64)) body = db.Column(db.Text) status = db.Column(db.SmallInteger, default=STATUS_PUBLIC) created_timestamp = db.Column(db.DateTime, default=datetime.datetime.now) entry_id = db.Column(db.Integer, db.ForeignKey('entry.id')) def gravatar(self, size=75): encoded_email = self.email.encode('utf-8') print(encoded_email) return 'http://www.gravatar.com/avatar.php?{}'.format( urllib.parse.urlencode({ 'gravatar_id': hashlib.md5(encoded_email).hexdigest(), 'size': str(size), })) def __repr__(self): return '<Comment from {}>'.format(self.name)
class Token(db.Model): """公众号类 开发平台用户绑定的公众号, 包含对应的公众号信息 Attributes: access_token (str): 用来公众号权限的access_Ttoken account (str): 公众号账户外键 account_id (str): 对应的账户id app_id (str): 公众号app_id app_secret (str): 公众号app_secret expired_time (int): 公众号access_token过期时间戳 id (int): 自增键 token (str): 公众号接入的token, 用于验证 wechat_id (str): 公众号id """ id = db.Column(db.Integer, primary_key=True) app_id = db.Column(db.String(255), unique=True) app_secret = db.Column(db.String(255)) wechat_id = db.Column(db.String(255)) token = db.Column(db.String(255)) access_token = db.Column(db.String(255)) expired_time = db.Column(db.Integer) account_id = db.Column(db.Integer, db.ForeignKey('account.id')) account = db.relationship('Account', backref=db.backref('tokens', lazy='dynamic'))
class Product(db.Model): __tablename__ = 'products' id = db.Column(db.Integer, primary_key=True) sku = db.Column(db.String(200)) name = db.Column(db.String(200)) description = db.Column(db.Text) brand = db.Column(db.String(200)) price = db.Column(db.Float) category_id = db.Column(db.Integer, db.ForeignKey('categories.id'), nullable=False) file = db.Column(db.String(200)) created = db.Column(db.DateTime(timezone=False), nullable=False, default=datetime.utcnow()) deleted = db.Column(db.Integer, default=0) def __init__(self, sku, name, description, brand, price, category_id, file, deleted): self.sku = sku self.name = name self.description = description self.brand = brand self.price = price self.category_id = category_id self.file = file self.deleted = deleted # '[<Product 'producto1'>, <Product 'producto2'>]' def __repr__(self): return '<Product %r>' % (self.name) @property def serialize(self): return {'id': self.id, 'price': self.price, 'name': self.name}
class Objects(db.Model): """ Vehicles """ nid = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True) valid_from = db.Column(db.DateTime, default=datetime.utcnow) valid_to = db.Column(db.DateTime) created_by = db.Column(db.Integer) provider_id = db.Column(db.Integer, db.ForeignKey('providers.nid')) created = db.Column(db.DateTime(timezone=True)) nofqueries = db.Column(db.Integer) nofsqueries = db.Column(db.Integer) lastquery = db.Column(db.DateTime(timezone=True)) active = db.Column(db.Boolean) # backref for locations. Attention at backref!!! locations = db.relationship('Location', backref='object', lazy='dynamic') def __init__( self, name, ): self.name = name def __repr__(self): return 'Vehicle : %s' % (self.name, )
class Sales_Orders(db.Model): __tablename__ = 'sales_orders' id = db.Column(db.Integer(), primary_key=True) so_number = db.Column(db.String(50)) customer_id = db.Column(db.String(50), db.ForeignKey('customer_ids.customer_id'))
class Criadero(db.Model): __tablename__ = 'CRIADEROS' id = db.Column(db.Integer, primary_key=True) cantpculex = db.Column(db.Integer) cantpaedes = db.Column(db.Integer) preslculex = db.Column(db.String(80)) preslaedes = db.Column(db.String(80)) tipocriad = db.Column(db.String(240)) volcriad = db.Column(db.Integer) predio = db.Column(db.Integer, db.ForeignKey('PREDIOS.id')) def __init__(self, cantpculex=None, cantpaedes=None, preslculex=None, preslaedes=None, tipocriad=None, volcriad=None, predio=None): self.cantpculex = cantpculex self.cantpaedes = cantpaedes self.preslaedes = preslaedes self.preslculex = preslculex self.tipocriad = tipocriad self.volcriad = volcriad self.predio = predio
class User(db.Model): __tablename__ = 'USERS' id = db.Column(db.Integer, primary_key=True) ci = db.Column(db.String(14)) nombres = db.Column(db.String(140)) telefono = db.Column(db.String(14)) username = db.Column(db.String(24)) password = db.Column(db.String(24)) grupo = db.Column(db.Integer, db.ForeignKey('GRUPOS.id')) denuncia = db.relationship('Denuncia') formulario = db.relationship('Formulario') def __init__(self, ci=None, nombre=None, telefono=None, username=None, password=None, grupo=None): self.ci = ci self.nombres = nombre self.telefono = telefono self.username = username self.password = password self.grupo = grupo def __create_password(self, passw): return generate_password_hash(passw) def verify_password(self, passw): return check_password_hash(self.password, passw)
class Denuncia(db.Model): __tablename__ = 'DENUNCIAS' id = db.Column(db.Integer, primary_key=True) tipo = db.Column(db.String(80)) foto = db.Column(db.String(180)) descripcion = db.Column(db.String(240)) lat = db.Column(db.Float) lon = db.Column(db.Float) user = db.Column(db.Integer, db.ForeignKey('USERS.id')) image = db.relationship('Image') def __init__(self, tipo=None, foto=None, descripcion=None, lat=None, lon=None, user=None): self.tipo = tipo self.foto = foto self.descripcion = descripcion self.lat = lat self.lon = lon self.user = user
class Videos(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) naslov = db.Column(db.String(80), nullable=False) podforum = db.Column(db.String(30), nullable=False) objavljeno = db.Column(db.DateTime(), nullable=False, default=lambda: datetime.datetime.utcnow()) slika = db.Column(db.String(255), nullable=False) dl_link = db.Column(db.String(80), nullable=False) objavio = db.Column(db.Integer(), db.ForeignKey("users.id")) url_view = db.Column(db.String(60), nullable=False, unique=True, default=lambda nbytes=16: secrets.token_hex(nbytes)) korisnici = db.relationship('Users', backref=db.backref('objavio', lazy='dynamic')) def __init__(self, naslov, podforum, dl_link, objavio=1): self.naslov = naslov self.podforum = podforum self.dl_link = dl_link self.objavio = objavio self.slika = "" def __repr__(self): return str(self.id) def __str__(self): return str(self.id) def get_time_for_index(podforum): obj = Videos.query.filter(Videos.podforum == podforum).order_by( Videos.id.desc()).first() vreme = (datetime.datetime.utcnow() - obj.objavljeno).total_seconds() return vreme
class Customer_Aliases(db.Model): __tablename__ = 'customer_aliases' id = db.Column(db.Integer(), primary_key=True) customer_alias = db.Column(db.String(100)) customer_id = db.Column(db.String(50), db.ForeignKey('customer_ids.customer_id'))
class Feature(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) description = db.Column(db.Text(2048)) priority = db.Column(db.Integer) target_date = db.Column(db.Date) area_id = db.Column(db.Integer, db.ForeignKey('area.id')) area = db.relationship('Area', backref=db.backref('features', lazy='dynamic')) client_id = db.Column(db.Integer, db.ForeignKey('client.id')) client = db.relationship('Client', backref=db.backref('features', lazy='dynamic')) def __repr__(self): return '<Feature %d>' % self.id
class Trava_Admin(db.Model): __tablename__ = 'trava_admin' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('trava_users.id'), unique=True) def __init__(self, user_id): self.user_id = user_id
class Profile(db.Model): __tablename__ = "profile" id = db.Column(db.Integer, primary_key=True) username = db.Column(db.Text, unique=True, nullable=False) photo = db.Column(db.Text) bio = db.Column(db.Text) area = db.Column(db.Text) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) body = db.Column(db.String(140)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey("user.id")) def __repr__(self): return "<Post {}>".format(self.body)
class Comments(db.Model): __tablename__ = 'flask_admin_comments' id = db.Column(db.Integer, primary_key=True) comment_text = db.Column(db.String(255)) user_id = db.Column(db.Integer, db.ForeignKey('flask_admin_users.id')) def __repr__(self): return '<Comment {}>'.format(self.id)
class Image(db.Model): __tablename__ = 'IMAGES' id = db.Column(db.Integer, primary_key=True) namefile = db.Column(db.String(248)) denuncia = db.Column(db.Integer, db.ForeignKey('DENUNCIAS.id')) def __init__(self, namefile): self.namefile = namefile
class Formulario(db.Model): __tablename__ = 'FORMULARIOS' id = db.Column(db.Integer, primary_key=True) user = db.Column(db.Integer, db.ForeignKey('USERS.id')) formulario = db.relationship('Predio') def __init__(self, user): self.user = user
class Object2user(db.Model): """ Associated object for many-to-many link """ __tablename__ = 'object2user' # id = db.Column(db.Integer, primary_key=True) # for db.table user_id = db.Column(db.Integer, db.ForeignKey('users.nid'), primary_key=True) object_id = db.Column(db.Integer, db.ForeignKey('objects.nid'), primary_key=True) visible = db.Column(db.Boolean) object = db.relationship('Objects', backref='users') def __init__(self): self.visible = True
class Weekly_Value(db.Model): id = db.Column(db.Integer, primary_key=True) value = db.Column(db.Integer) date = db.Column(db.Date) exercise_id = db.Column(db.Integer, db.ForeignKey('exercise.id')) def __init__(self, value, exercise_id): self.value = value self.exercise_id = exercise_id self.date = date.today()
class Post(SearchableMixin, db.Model): __searchable__ = ['body'] id = db.Column(db.Integer, primary_key=True) body = db.Column(db.String(140)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) language = db.Column(db.String(5)) def __repr__(self): return '<Post {}>'.format(self.body)
class Orderdetails(db.Model): """create orderdetails table """ __tablename__ = 'orderdetails' orderNumber = db.Column(db.Integer, primary_key=True) productCode = db.Column(db.String(15), db.ForeignKey('products.productCode')) quantityOrdered = db.Column(db.Float, nullable=True) priceEach = db.Column(db.Float, nullable=False) orderLineNumber = db.Column(db.Integer, nullable=False)