示例#1
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    article_id = db.Column(db.Integer, db.ForeignKey('article.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    body = db.Column(db.Text(2000), nullable=False)

    date_posted = db.Column(db.DateTime(), default=dt.utcnow)
    last_updated = db.Column(db.DateTime())

    def __repr__(self):
        return f'<Comment №{self.id} on post {self.article.title}>'
示例#2
0
class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    sender_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    recipient_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    title = db.Column(db.String(200), nullable=False)
    body = db.Column(db.Text(2000), nullable=False)

    date_send = db.Column(db.DateTime(), default=dt.utcnow)
    seen = db.Column(db.Boolean(), default=False)
    deleted = db.Column(db.Boolean())

    def __repr__(self):
        return f'<Message №{self.id} from {self.sender} to {self.recipient}>'
示例#3
0
class Role(db.Model):
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    role_name = db.Column(db.String(30))
    date_granted = db.Column(db.DateTime(), default=dt.utcnow)

    def __repr__(self):
        return f'<User {self.user_id} is {self.role_name}>'
示例#4
0
class UserInfo(db.Model):
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    birthdate = db.Column(db.Date())
    avatar = db.Column(db.String(120), default='default.png')
    gender = db.Column(db.String(1))
    job = db.Column(db.String(60))
    about = db.Column(db.Text(600))
    origin_country_id = db.Column(db.Integer, db.ForeignKey('country.id'))
    registration_date = db.Column(db.Date(), default=dt.utcnow)
    last_seen = db.Column(db.DateTime(), default=dt.utcnow)

    origin_country = db.relationship('Country',
                                     lazy=True,
                                     uselist=False,
                                     backref=db.backref('natives',
                                                        uselist=True))

    def __repr__(self):
        return f'<Info about {self.user.username}>'
示例#5
0
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)

    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
示例#6
0
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    body = db.Column(db.Text(100000), nullable=False)
    title = db.Column(db.String(200), index=True, nullable=False)
    article_type = db.Column(db.String(10))
    date_posted = db.Column(db.DateTime(), default=dt.utcnow)
    last_updated = db.Column(db.DateTime())

    comments = db.relationship('Comment',
                               backref='article',
                               cascade='all',
                               lazy='dynamic')

    def __repr__(self):
        return (f'<Article {self.id} title {self.title} '
                f'by user {self.article_author.username}>')
示例#7
0
class CountryInfo(db.Model):
    country_id = db.Column(db.Integer,
                           db.ForeignKey('country.id'),
                           primary_key=True)
    capital = db.Column(db.String(20))
    population = db.Column(db.Integer)
    land_area = db.Column(db.Integer)
    currency = db.Column(db.String(40))
    currency_code = db.Column(db.String(3))
    language = db.Column(db.String(30))
    time_zone = db.Column(db.String(50))
    time_offset = db.Column(db.String(10))
    weather = db.Column(db.Text(600))
    description = db.Column(db.Text(2000))
    region = db.Column(db.String(20))
    subregion = db.Column(db.String(40))
    last_updated = db.Column(db.DateTime(), default=dt.utcnow)

    def __repr__(self):
        return f'<Info about {self.country.name}>'
示例#8
0
from hashlib import md5
from time import time

import jwt
from flask import current_app
from flask_login import UserMixin, current_user
from flask_admin.contrib.sqla import ModelView
from werkzeug.security import generate_password_hash, check_password_hash

from travelblog import db, login, admin

country_visitor = db.Table(
    'country_visitor',
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True),
    db.Column('country_id',
              db.Integer,
              db.ForeignKey('country.id'),
              primary_key=True))

country_follower = db.Table(
    'country_follower',
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True),
    db.Column('country_id',
              db.Integer,
              db.ForeignKey('country.id'),