class Drink(db.Model): __tablename__ = 'drinks' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text) calories = db.Column(db.Text) price = db.Column(db.Text) alcoholic = db.Column(db.Boolean)
class Artist(db.Model): __tablename__ = 'artists' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text, nullable=False) songs = db.relationship('Song', back_populates='artist') def does_artist_have_show_in_country(self, countryname): country = Country.query.filter(Country.name == countryname).first() for show in country.shows: if show.songs[0].artist.name == self.name: return True return False def an_artists_number_of_countries(self): count = 0 for c in Country.query.all(): if self.does_artist_have_show_in_country(c.name): count += 1 return count @classmethod def make_dict(cls): dict = {} for a in cls.query.all(): dict.update({a.name: a.an_artists_number_of_countries()}) return dict
class Hints(db.Model): id = db.Column(db.Integer(), primary_key=True) hint_name = db.Column(db.String(128), nullable=False) hint_text = db.Column(db.Text) def __repr__(self): return '{}'.format(self.hint_name)
class Unit(db.Model): id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(8), nullable=False) name = db.Column(db.String(50), nullable=False) def __repr__(self): return f"Unit('{self.name}')"
class Category(db.Model): __tablename__ = 'Categories' id = db.Column(db.Integer, primary_key=True) category = db.Column(db.String(1000), unique=True, nullable=False) def __repr__(self): return f"Category('{self.category}')"
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 Path(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100)) track = db.Column(db.Integer, db.ForeignKey('tracks.id'), nullable=False) rela = db.relationship('Post', backref='course', lazy=True) def __repr__(self): return f"Course({self.title},{self.track})"
class ShowSong(db.Model): __tablename__ = 'show_song' song_id = db.Column(db.Integer, db.ForeignKey('songs.id'), primary_key=True) show_id = db.Column(db.Integer, db.ForeignKey('shows.id'), primary_key=True)
class Song(db.Model): __tablename__ = 'songs' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text) shows = db.relationship('Show', secondary='show_song', back_populates='songs') artist = db.relationship('Artist', back_populates='songs') artist_id = db.Column(db.Integer, db.ForeignKey('artists.id'))
class User(db.Model, UserMixin): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(128), unique=True) email = db.Column(db.String(128), unique=True) password = db.Column(db.String(128), ) active = db.Column(db.Boolean()) roles = db.relationship('Role', secondary=role_user, backref=db.backref('user', lazy='dynamic'))
class President(db.Model): __tablename__='presidents' id=db.Column(db.Integer, primary_key=True ) name=db.Column(db.Text) articles=db.relationship('Article', back_populates="president") article_id=db.Column(db.Integer, db.ForeignKey('articles.id')) #a president can have many articles keywords=db.relationship('Keyword', back_populates='president') keyword_id=db.Column(db.Integer, db.ForeignKey('keywords.id'))
class Bartender(db.Model): __tablename__ = 'bartenders' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100)) hometown = db.Column(db.String(100)) birthyear = db.Column(db.Integer) customers = db.relationship("Customer", secondary="orders", back_populates="bartenders")
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) password = db.Column(db.String(60), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) def __repr__(self): return f"User('{self.username}', '{self.email}')"
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}')"
class User(db.Model, UserMixin): __tablename__ = 'Users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(1000), unique=True, nullable=False) password = db.Column(db.String(1000), nullable=False) def __repr__(self): return f"User('{self.username}')"
class ArticleKeyword(db.Model): __tablename__='articlekeywords' id=db.Column(db.Integer, primary_key=True ) article_id=db.Column(db.Integer, db.ForeignKey('articles.nyt_id')) keyword_id=db.Column(db.Integer, db.ForeignKey('keywords.id')) # article=db.relationship('Article', backref="articlekeywords", cascade='all, delete-orphan', single_parent=True) # keyword=db.relationship('Keyword', backref="articlekeywords", cascade='all, delete-orphan', single_parent=True) article=db.relationship('Article', backref="articlekeywords") keyword=db.relationship('Keyword', backref="articlekeywords")
class Order(db.Model): __tablename__ = 'orders' id = db.Column(db.Integer, primary_key=True) customer_id = db.Column(db.Integer, db.ForeignKey('customers.id'), default=None) customer = db.relationship('Customer', back_populates="orders") bartender_id = db.Column(db.Integer, db.ForeignKey('bartenders.id')) drink_id = db.Column(db.Integer, db.ForeignKey('drinks.id'))
class Customer(db.Model): __tablename__ = 'customers' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text) hometown = db.Column(db.Text) birthyear = db.Column(db.Integer) orders = db.relationship(Order, back_populates="customer", lazy="dynamic") bartenders = db.relationship("Bartender", secondary="orders", back_populates="customers")
class Keyword (db.Model): __tablename__='keywords' id=db.Column(db.Integer, primary_key=True ) category= db.Column(db.Text) value=db.Column(db.Text) # article_id=db.Column(db.String) # articles=db.relationship('Article', back_populates='keywords') president_id = db.Column(db.Integer) president=db.relationship('President', back_populates='keywords') article=db.relationship('Article', secondary='articlekeywords')
class Poll(db.Model): id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(8), nullable=False) date_polled = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) preferrence = db.Column(db.Integer, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Poll('{self.code}','{self.name}')"
class Technologies(db.Model): id = db.Column(db.Integer(), primary_key=True) manufacture_id = db.Column(db.Integer, db.ForeignKey('manufactures.id'), nullable=False) technology_name = db.Column(db.String(128), nullable=False) technology_text = db.Column(db.Text) category = db.Column(db.String(128)) def __repr__(self): return "%s, %s" % (self.technology_name, self.manufacture)
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True, autoincrement=True) # MAX 20 chars username = db.Column(db.String(20), unique=True, nullable=False) # Add default image to code image = db.Column(db.String(20), nullable=False, default='scan.jpg') # image = db.Column(db.LargeBinary(length=2 ** 24), nullable=False) def __repr__(self): return f"User('{self.username}', '{self.image}')"
class Tracks(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.Text) intro = db.Column(db.Text) image = db.Column(db.String(100)) message = db.Column(db.Text) paths = db.relationship('Path', backref='line', lazy=True) # rel = db.relationship('Post', backref = '', lazy = True) def __repr__(self): return f"Track('Track Number = {self.id}, Title = {self.title}')"
class Tables(db.Model): id = db.Column(db.Integer(), primary_key=True) manufacture_id = db.Column(db.Integer, db.ForeignKey('manufactures.id'), nullable=False) table_name = db.Column(db.String(128), nullable=False) horizont_range = db.Column(db.Integer()) max_weight = db.Column(db.Integer()) tomog = db.relationship('Tomog', backref='table', lazy=True) def __repr__(self): return '{}'.format(self.table_name)
class Image(db.Model): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.Unicode(64), nullable=False) path = db.Column(db.Unicode(128), nullable=False) tomograph = db.relationship('Tomog', backref='image', lazy=True) def __unicode__(self): return self.name def __repr__(self): return '{}'.format(self.name)
class Manufactures(db.Model): id = db.Column(db.Integer(), primary_key=True) manufacture_name = db.Column(db.String(128), nullable=False) manufacture_longname = db.Column(db.String(255)) country = db.Column(db.String(128)) tubes = db.relationship('Tubes', backref='manufacture', lazy=True) generators = db.relationship('Generator', backref='manufacture', lazy=True) tables = db.relationship('Tables', backref='manufacture', lazy=True) technologies = db.relationship('Technologies', backref='manufacture', lazy=True) tomog = db.relationship('Tomog', backref='manufacture', lazy=True) def __repr__(self): return '{}'.format(self.manufacture_name)
class User(UserMixin, 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)) posts = db.relationship('Post', backref='author', lazy='dynamic') def __repr__(self): return '<User {}>'.format(self.username) def set_password(self, password): self.password_hash = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password_hash, password)
class Claim(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.Date) make_date = db.Column(db.Date) executor_comment = db.Column(db.String(1024)) claim = db.Column(db.String(1024), nullable=False) comment = db.Column(db.String(255), nullable=False) source_user_id = db.Column(db.Integer, db.ForeignKey('user.id')) executer_user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.Text, nullable=False) description = db.Column(db.Text, nullable=False) body = db.Column(db.Text, nullable=False) subject = db.Column(db.Integer, db.ForeignKey('path.id'), nullable=False) creator = db.Column(db.Integer, db.ForeignKey('admin.id'), nullable=False) track = db.Column(db.Integer, db.ForeignKey('tracks.id')) image = db.Column(db.String) video = db.Column(db.String) def __repr__(self): return f"{self.title},{self.description},{self.author}"
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(20), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default="default.jpg") password = db.Column(db.String(60), nullable=False) is_admin = db.Column(db.Boolean, default=False) poll = db.relationship('Poll', backref='parti', lazy=True) def __repr__(self): return f"User('{self.username}','{self.email}','{self.image_file}')" def get_reset_token(self, expires_sec=1800): s = Serializer(app.config["SECRET_KEY"], expires_sec) return s.dumps({'user_id': self.id}).decode('utf-8') @staticmethod #not to expect self def verify_reset_token(token): s = Serializer(app.config["SECRET_KEY"]) try: auser_id = s.loads(token)['user_id'] except: return None return User.query.get(user_id)