class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) def __str__(self): return self.username
class Subnet(db.Model): ''' Simple tracking of subnet ips ''' ip = db.Column(db.String(20), primary_key=True) hostname = db.Column(db.String(120), nullable=True) last_updated = db.Column(db.DateTime, nullable=False)
class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) profile_image = db.Column(db.String(64), nullable=False, default='default_profile.png') email = db.Column(db.String(64), unique=True, index=True) registered_on = db.Column(db.DateTime, nullable=False) username = db.Column(db.String(64), unique=True, index=True) password_hash = db.Column(db.String(128)) is_active = db.Column(db.Boolean, nullable=False, default=False) posts = db.relationship('BlogPost', backref='author', lazy=True) def __init__(self, email, username, password, is_active): self.email = email self.registered_on = datetime.now() self.username = username self.password_hash = generate_password_hash(password) self.is_active = is_active def check_password(self, password): return check_password_hash(self.password_hash, password)
class Host(db.Model): ''' Simple tracking of host for inventory etc ''' host_id = db.Column(db.Integer, primary_key=True) ip = db.Column(db.String(20)) hostname = db.Column(db.String(120), nullable=False)
class Repo(db.Model): ''' track source code repos. could be git or other? ''' repo_id = db.Column(db.Integer, primary_key=True) repo_name = db.Column(db.String(32), nullable=False) repo_type = db.Column(db.String(20), nullable=False) repo_url = db.Column(db.String(120), nullable=True)
class Zvonok(db.Model): id = db.Column(db.Integer, primary_key=True) body = db.Column(db.String(140)) phone = db.Column(db.String(140)) user_username = db.Column(db.String(20), db.ForeignKey('user.username')) def __repr__(self): return f'Звонок от: {self.user_username}, текст: {self.body}'
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(120), index=True, unique=True) password_hash = db.Column(db.String(128)) def __repr__(self): return '<User {}>'.format(self.username)
class Product(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(20)) description = db.Column(db.String(120)) img = db.relationship('Product_img', backref='product', lazy=True) register_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow()) def __repr__(self): return f"User('{self.id}','{self.title}','{self.description}','{self.img}','{self.register_date}'"
class User(db.Model): id = db.Column(db.Integer, primary_key=True) mail = db.Column(db.String(128), unique=True, nullable=False) passwrod = db.Column(db.String(128), nullable=False) created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow()) img = db.Column(db.String(20), nullable=False, default='default_user.jpg') def __repr__(self): return f"User('{self.mail}','{self.created}')"
class Book(db.Model): ''' To track reading activity. Should be populated by goodreads data ''' book_id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(160), nullable=False) author = db.Column(db.String(120), nullable=False) series = db.Column(db.String(160)) genre = db.Column(db.String(80))
class GitHubEvent(db.Model): ''' to cache and track github events ''' event_id = db.Column(db.Integer, primary_key=True) repo_id = db.Column(db.Integer, nullable=True) # event_timestamp = db.Column(db.DateTime, nullable=False) event_timestamp = db.Column(db.String(30), nullable=False) event_type = db.Column(db.String(20), nullable=False)
class User(db.Model): ''' User for tracking activity and use of site ''' user_id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), nullable=False) def __repr__(self): return '<User {}>'.format(self.username)
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) first_name = db.Column(db.String(20)) last_name = db.Column(db.String(20)) email = db.Column(db.String(50), unique=True, nullable=False) img = db.Column(db.String(20), nullable=False, default='default_user.jpg') password = db.Column(db.String(20), nullable=False) register_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow()) def __repr__(self): return f"User('{self.first_name}','{self.last_name}','{self.email}','{self.img}','{self.register_date}'"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) respostas = db.relationship('Resposta', backref='responser', lazy=True) scores = db.relationship('Scores', backref='scorer', lazy=True) user_type = db.Column(db.String(1), nullable=False, default="U") def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32, collation='NOCASE')) slug = db.Column(db.String(140, collation='NOCASE'), unique=True) def __init__(self, *args, **kwargs): super(Tag, self).__init__(*args, **kwargs) self.generate_slug() def generate_slug(self): if self.name: self.slug = slugify(self.name) def __repr__(self): return f"Tag('{self.id}','{self.name}')"
class Product_img(db.Model): id = db.Column(db.Integer, primary_key=True) img = db.Column(db.String(20), nullable=False, default='default_product.jpg') product_id = db.Column(db.Integer, db.ForeignKey('product.id'), nullable=False) def __repr__(self): return f"User('{self.id}','{self.img}','{self.product_id}'"
class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), index=True) email = db.Column(db.String(100), index=True) password = db.Column(db.String(20)) avatar = db.Column(db.String(20), default='default.jpg') zvonki = db.relationship('Zvonok', backref='author', lazy='dynamic') def __repr__(self): return f'Пользователь: {self.username}, email {self.email}' def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password)
class Job(db.Model): ''' for job processor ''' job_id = db.Column(db.Integer, primary_key=True) function = db.Column(db.String(160), nullable=False) status = db.Column(db.Integer, nullable=False, default=-1)
class Scores(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) post_id = db.Column(db.Integer, db.ForeignKey('post.id')) score_type = db.Column(db.String(1)) def __repr__(self): return f"Score('{self.id}', '{self.post_id}', '{self.score_type}')"
class Post(db.Model): ''' "blog" or note style data entered into site. ''' post_id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(160), nullable=False) content = db.Column(db.Text, nullable=False) create_date = db.Column(db.DateTime, nullable=False)
class Product(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(32, collation='NOCASE')) slug = db.Column(db.String(140, collation='NOCASE'), unique=True) discription = db.Column(db.Text) created = db.Column(db.DateTime, default=datetime.utcnow()) img = db.Column(db.String(20), nullable=False, default='default_product.jpg') tags = db.relationship('Tag', secondary='product_tags', backref=db.backref('products', lazy='dynamic')) def __init__(self, *args, **kwargs): super(Product, self).__init__(*args, **kwargs) self.generate_slug() def generate_slug(self): if self.title: self.slug = slugify(self.title) def __repr__(self): return f"Product('{self.title}','{self.created}','{self.discription}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20), nullable=False) email = db.Column(db.String(50), nullable=False) password = db.Column(db.String(20), nullable=False) p_img = db.Column(db.String(8), nullable=False, default="3zma.jpg") posts = db.relationship("Post", backref='author', lazy=True) def rest(self, sec=1800): s = srial(app.config['SECRET_KEY'], sec) return s.dumps({'user_id': self.id}).decode("utf-8") @staticmethod def verify(token): s = srial(app.config['SECRET_KEY']) try: user_id = s.loads(token)['user_id'] except: return None return User.query.get(user_id)
class VanguardFee(db.Model): __tablename__ = "vanguard_fees" id = db.Column(db.Integer, primary_key=True) fund_id = db.Column(db.Integer, db.ForeignKey('vanguard_funds.id')) fee_type = db.Column(db.String(64), nullable=False) fee = db.Column(db.Float, nullable=False) def __init__(self, fund, fee_type, fee): self.fund = fund self.fee_type = fee_type self.fee = fee
class Item(db.Model): __tablename__ = 'items' item_id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), primary_key=True) name = db.Column(db.String(100)) price = db.Column(db.String(100)) description = db.Column(db.String(500)) category = db.Column(db.String(50)) user_id = db.Column(db.Integer, db.ForeignKey('users.user_id')) img_path = db.Column(db.String(500)) created_at = db.Column(db.DateTime, default=db.func.now()) deleted_at = db.Column(db.DateTime) @classmethod def get_by_name(cls, item_name): return cls.query.filter_by(name=item_name).first() @classmethod def get_by_id(cls, id): return cls.query.filter_by(item_id=id).first()
class User(db.Model): __tablename__ = 'users' user_id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), primary_key=True) email = db.Column(db.String(100)) password = db.Column(db.String(500)) full_name = db.Column(db.String(100)) phone_number = db.Column(db.String(50)) created_at = db.Column(db.DateTime, default=db.func.now()) deleted_at = db.Column(db.DateTime) confirmed = db.Column(db.Boolean, nullable=False, default=False) is_admin = db.Column(db.Boolean, nullable=False, default=False) @classmethod def get_by_email(cls, email): return cls.query.filter_by(email=email).first() @classmethod def get_by_id(cls, id): return cls.query.filter_by(user_id=id).first()
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) respostas = db.relationship('Resposta', backref='post', lazy=True) scores = db.relationship('Scores', backref='scores', lazy=True) total_score = db.Column(db.Integer, default=0) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class BlogPost(db.Model): users = db.relationship(User) id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) title = db.Column(db.String(140), nullable=False) text = db.Column(db.Text, nullable=False) def __init__(self, title, text, user_id): self.title = title self.text = text self.user_id = user_id
class VanguardDividend(db.Model): __tablename__ = "vanguard_dividends" id = db.Column(db.Integer, primary_key=True) fund_id = db.Column(db.Integer, db.ForeignKey('vanguard_funds.id')) dividend_type = db.Column(db.String(64), nullable=False) price_per_share = db.Column(db.Float, nullable=False) payable_date = db.Column(db.Date, nullable=False) record_date = db.Column(db.Date, nullable=False) reinvest_date = db.Column(db.Date, nullable=False) reinvest_price = db.Column(db.Float, nullable=False) __table_args__ = ( db.UniqueConstraint('fund_id', 'dividend_type', 'payable_date', name='_unq_fund_dividend' ), ) def __init__( self, fund, dividend_type, price_per_share, payable_date, record_date, reinvest_date, reinvest_price ): self.fund = fund self.dividend_type = dividend_type self.price_per_share = price_per_share self.payable_date = payable_date self.record_date = record_date self.reinvest_date = reinvest_date self.reinvest_price = reinvest_price def __repr__(self): return "<VanguardDividend(%d, '%s', '%s', %f)>" % ( (self.id or 0), self.fund.ticker, self.payable_date, self.price_per_share ) def json(self): return { 'dividend_type': self.dividend_type, 'price_per_share': self.price_per_share, 'payable_date': self.payable_date.strftime('%Y-%m-%d'), 'record_date': self.record_date.strftime('%Y-%m-%d'), 'reinvest_date': self.reinvest_date.strftime('%Y-%m-%d'), 'reinvest_price': self.reinvest_price, }
class User(db.Model): __tablename__ = "user" # __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), unique=True) # 唯一 pwd = db.Column(db.String(100)) email = db.Column(db.String(50), unique=True) phone = db.Column(db.String(13), unique=True) info = db.Column(db.Text) face = db.Column(db.String(255), unique=True) addtime = db.Column(db.DateTime, index=True, default=datetime.now) uuid = db.Column(db.String(255), unique=True) # 关联外键 # userlogs = db.relationship("Userlog", backref="user") # comments = db.relationship("Comment", backref="user") # moviecols = db.relationship("Moviecol", backref="user") def __repr__(self): return "<user %r>" % self.name def check_pwd(self, pwd): return check_password_hash(self.pwd, pwd)
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(60), nullable=False) post = db.Column(db.String(250), nullable=False) date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)