コード例 #1
0
ファイル: models.py プロジェクト: trzpilu/Websites_and_Pages
class ArtistDisc(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    artist_id = db.Column(db.Integer, db.ForeignKey('artist.id'))
    disc_id = db.Column(db.Integer, db.ForeignKey('disc.id'))

    def __str__(self):
        return f"<ArtistCDs: {self.id} {self.artist_id} {self.cd_id}...>"
コード例 #2
0
ファイル: tables.py プロジェクト: kilerhg/Python-Studies
class Follow(db.Model):
    __tablename__ = "follow"

    id = db.column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    follower_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    user = db.relationship('User', foreign_keys=user_id)
    follower = db.relationship('User', foreign_keys=follower_id)
コード例 #3
0
class Transaction(db.Model):
    __tablename__ = "transaction"
    id = db.Column(db.Integer, primary_key=True)
    donor_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    recipient_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'))
    donation = db.Column(db.Float, nullable=False)

    def __repr__(self):
        return '<User %r>' % self.username
コード例 #4
0
class Project(db.Model):
    __tablename__ = "project"
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(120), nullable=False)
    description = db.Column(db.Text())
    goal = db.Column(db.Float)
    current_amount = db.Column(db.Float)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    school_id = db.Column(db.String(120), db.ForeignKey('school.id'))
    transactions = db.relationship('Transaction')
    reports = db.relationship('Report')

    def __repr__(self):
        return '<Project %r>' % self.title
コード例 #5
0
ファイル: models.py プロジェクト: trzpilu/Websites_and_Pages
class Rented(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.Date)
    disc_id = db.Column(db.Integer, db.ForeignKey('disc.id'))

    def __str__(self):
        return f"<Rented: {self.id}...>"
コード例 #6
0
class ItemModel(db.Model):
    __tablename__ = 'items'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    price = db.Column(db.Float(precision=2))

    store_id = db.Column(db.Integer, db.ForeignKey("stores.id"))
    store = db.relationship('StoreModel')

    def __init__(self, name, price,store_id):
        self.name = name
        self.price = price
        self.store_id = store_id

    def json(self):
        return {'name': self.name, 'price': self.price}

    @classmethod
    def find_by_name(cls, name):

        # SELECT * FROM items WHERE name=name LIMIT 1
        return ItemModel.query.filter_by(name=name).first()

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()
コード例 #7
0
ファイル: hello.py プロジェクト: douhaopeng/flasky-pratice
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True, index=True)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))

    def __repr__(self):
        return '<User %r>' % self.username
コード例 #8
0
class OAuth(OAuthConsumerMixin, db.Model):
    """Data model for oauth accounts."""

    __tablename__ = 'oauth'

    provider_user_id = db.Column(db.String(256), unique=True, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey(User.id), nullable=False)
    user = db.relationship("User", back_populates="oauth", uselist=False)
コード例 #9
0
class Message(db.Model):
    __tablename__ = "message"
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    is_sender = db.Column(db.Boolean, nullable=False)
    other_id = db.Column(db.Integer, nullable=False)
    time = db.Column(db.DateTime, nullable=False)
    body = db.Column(db.String(120), nullable=False)
コード例 #10
0
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    user = db.relationship(User, backref=db.backref('articles', uselist=True))

    def __repr__(self):
        return '<Article %s>' % self.title
コード例 #11
0
class Log(OurMixin, db.Model):
    __tablename__ = 'logs'

    id = db.Column(db.VARCHAR(length=36), primary_key=True)
    action = db.Column(db.VARCHAR(length=5120))
    user_id = db.Column(db.VARCHAR(length=36),
                        db.ForeignKey('users.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship("User", cascade='delete')
コード例 #12
0
def reference_col(tablename, nullable=False, pk_name='id', **kwargs):
    """Column that adds primary key foreign key reference.

    Usage: ::

        category_id = reference_col('category')
        category = relationship('Category', backref='categories')
    """
    return db.Column(db.ForeignKey('{0}.{1}'.format(tablename, pk_name)),
                     nullable=nullable, **kwargs)
コード例 #13
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}')"
コード例 #14
0
ファイル: item.py プロジェクト: xsourav/test-repo
class ItemModel(db.Model):
    __tablename__ = 'items'
    id = db.Column(db.Integer, primary_key= True)
    name = db.Column(db.String(80))
    price = db.Column(db.Float(precision=2))

    store_id = db.Column(db.Integer, db.ForeignKey('stores.id'))
    store = db.relationship('StoreModel')

    def __init__(self, name, price, store_id):
        self.name = name
        self.price = price
        self.store_id = store_id

    def json(self):
        return {'name': self.name, 'price': self.price}

    @classmethod
    def find_by_name(cls, name):
        # connection = sqlite3.connect('data.db')
        # cursor = connection.cursor()
        # query = "SELECT * FROM items WHERE name=?"
        # result = cursor.execute(query, (name,))
        # row = result.fetchone()
        # connection.close()
        #
        # if row:
        #     return cls(*row)
        return ItemModel.query.filter_by(name=name).first()

    def save_to_db(self):
        # connection = sqlite3.connect('data.db')
        # cursor = connection.cursor()
        # query = 'INSERT INTO items VALUES(?,?)'
        # cursor.execute(query, (self.name, self.price))
        #
        # connection.commit()
        # connection.close()
        db.session.add(self)
        db.session.commit()

    # def update(self):
    #     connection = sqlite3.connect('data.db')
    #     cursor = connection.cursor()
    #
    #     query = 'UPDATE items SET price=? WHERE NAME=?'
    #     cursor.execute(query, (self.name, self.price))
    #
    #     connection.commit()
    #     connection.close()

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()
コード例 #15
0
ファイル: models.py プロジェクト: trzpilu/Websites_and_Pages
class Disc(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.Text, index=True)
    genre = db.Column(db.Text)
    year = db.Column(db.Integer)
    description = db.Column(db.Text)
    artist_id = db.Column(db.Integer, db.ForeignKey('artist.id'))
    artists = db.relationship("ArtistDisc", backref="disc", lazy="dynamic")
    rented = db.relationship("Rented", backref="disc", lazy="dynamic")

    def __str__(self):
        return f"<Book: {self.id} {self.title[:50]}...>"
コード例 #16
0
ファイル: models.py プロジェクト: musse32/web-practice
class Owner(db.Model):

    __tablename__ = 'owners'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Text)
    pup_id = db.Column(db.Integer, db.ForeignKey('puppies.id'))

    def __init__(self, name, pup_id):
        self.name = name
        self.pup_id = pup_id

    def __repr__(self):
        return f'{self.name}'
コード例 #17
0
ファイル: post.py プロジェクト: yzongyue/cookiecutter-flask
class Post(SurrogatePK, Model):

    __tablename__ = 'posts'

    title = db.Column(db.Text)
    slug = db.Column(db.Text)
    body = db.Column(db.Text)
    created_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)

    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    tags = db.relationship('Tag', secondary=tags_posts, backref=db.backref('posts_br', lazy='dynamic'))

    def __init__(self, title, slug, body, **kwargs):
        db.Model.__init__(self, title=title, slug=slug, body=body, **kwargs)
コード例 #18
0
class File(OurMixin, db.Model):
    __tablename__ = 'files'

    id = db.Column(db.VARCHAR(length=36), primary_key=True)
    name = db.Column(db.VARCHAR(length=256), nullable=False)
    path = db.Column(db.VARCHAR(length=512), nullable=True)
    thumbnail_name = db.Column(db.VARCHAR(length=256), nullable=True)
    thumbnail_path = db.Column(db.VARCHAR(length=512), nullable=True)
    width = db.Column(db.Integer(), default=0, server_default='0')
    height = db.Column(db.Integer(), default=0, server_default='0')
    size = db.Column(db.Integer(), default=0, server_default='0')
    user_id = db.Column(db.VARCHAR(length=36), db.ForeignKey('users.id'), nullable=False)
    user = db.relationship("User")
    mimetype = db.Column(db.VARCHAR(length=256), nullable=False)
コード例 #19
0
ファイル: tables.py プロジェクト: kilerhg/Python-Studies
class Post(db.Model):
    __tablename__ = "posts"

    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text)
    user_id = db.Column(dm.Integer, db.ForeignKey('users.id'))

    user = db.relationship('User', foreign_keys=user_id)

    def __init__(self, content, user_id):
        self.content = content
        self.user_id = user_id

    def __repr(self):
        return f"<Post {self.id}>"
コード例 #20
0
class Tarea(db.Base):
    __tablename__ = 'tarea'

    id = Column(Integer, primary_key = True)
    titulo = Column(String(60))
    descripcion = Column(String(255))
    estado = Column(String(60))
    fecha_creacion = Column(String(60))

    responsable = db.Column(db.Integer, db.ForeignKey('usuario.id'))
    usuario = db.relationship("Usuario", backref = "tarea")

    def __init__ (self, titulo, descripcion, estado, responsable, fecha_creacion):
        self.titulo = titulo
        self.descripcion = descripcion
        self.estado = estado
        self.responsable = responsable
        self.fecha_creacion = fecha_creacion
    
    def __repr__(self):
        return f'{self.id}, {self.titulo}, {self.descripcion}, {self.estado}, {self.responsable}, {self.fecha_creacion}'
コード例 #21
0
class TokenBlacklist(db.Model):
    """Blacklist representation
    """
    id = db.Column(db.Integer, primary_key=True)
    jti = db.Column(db.String(36), nullable=False, unique=True)
    token_type = db.Column(db.String(10), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    revoked = db.Column(db.Boolean, nullable=False)
    expires = db.Column(db.DateTime, nullable=False)

    user = db.relationship('User', lazy='joined')

    def to_dict(self):
        return {
            'token_id': self.id,
            'jti': self.jti,
            'token_type': self.token_type,
            'user_identity': self.user_identity,
            'revoked': self.revoked,
            'expires': self.expires
        }
コード例 #22
0
class TokenBlocklist(db.Model):
    """Blocklist representation"""

    id = db.Column(db.Integer, primary_key=True)
    jti = db.Column(db.String(36), nullable=False, unique=True)
    token_type = db.Column(db.String(10), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
    revoked = db.Column(db.Boolean, nullable=False)
    expires = db.Column(db.DateTime, nullable=False)

    user = db.relationship("User", lazy="joined")

    def to_dict(self):
        return {
            "token_id": self.id,
            "jti": self.jti,
            "token_type": self.token_type,
            "user_identity": self.user_identity,
            "revoked": self.revoked,
            "expires": self.expires,
        }
コード例 #23
0
ファイル: app.py プロジェクト: samalty/datacentric-project
class Items(db.Model):
    __tablename__ = 'items'
    id = db.Column('id', db.Integer, primary_key=True)
    name = db.Column(db.Unicode(50))
    brand = db.Column(db.Unicode(30))
    size = db.Column(db.Unicode(4))
    colour = db.Column(db.Unicode(10))
    cond = db.Column(db.Unicode(15))
    gender = db.Column(db.Unicode(6))
    info = db.Column(db.Unicode(90))
    price = db.Column(db.Integer)
    contact = db.Column(db.Unicode(50))
    imageName = db.Column(db.Unicode(100))
    imageData = db.Column(db.LargeBinary)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    @property
    def b64_image_data(self):
        return b64encode(self.imageData).decode('utf-8')

    def __repr__(self):
        return '<Items: %r>' % self.name
コード例 #24
0
class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    firstname = db.Column(db.String(80), nullable=False)
    lastname = db.Column(db.String(80), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(120))
    userType = db.Column(db.Integer, nullable=False)
    paypal = db.Column(db.String(250))
    verified = db.Column(db.Boolean, nullable=False)
    school = db.Column(db.Integer, db.ForeignKey('school.id'))
    pic = db.Column(db.Text())
    projects = db.relationship('Project')
    # reports_made = db.relationship('Report', foreign_keys=['reports.reporting_user'])
    # reports_against = db.relationship('Report', foreign_keys=['reports.reportee_id'])
    messages = db.relationship('Message')

    ##Lazy loading refers to objects are returned from a
    ##query without the related objects loaded at first.

    def __repr__(self):
        return '<User %r>' % self.username
コード例 #25
0
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    username = db.Column(db.UnicodeText(64), index=True)
コード例 #26
0
from flask_security import RoleMixin, UserMixin, SQLAlchemySessionUserDatastore
from {{cookiecutter.project_core_dir}}.extensions import db

role_users = db.Table(
    'role_users',
    db.Column('user_id', db.Integer(), db.ForeignKey('user.id')),
    db.Column('role _id', db.Integer(), db.ForeignKey('role.id'))
)


class Role(db.Model, RoleMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

    def __str__(self):
        return self.name

    def __hash__(self):
        return hash(self.name)


class User(db.Model, UserMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    last_login_at = db.Column(db.DateTime())
    current_login_at = db.Column(db.DateTime())
コード例 #27
0
from sqlalchemy.ext.associationproxy import association_proxy
# from {{cookiecutter.app_name}}.utils import uuid


def _role_find_or_create(r):
    role = Role.query.filter_by(name=r).first()
    if not(role):
        role = Role(name=r)
        role.insert()
    return role


user_role_table = db.Table('user_roles',
                           db.Column(
                               'user_id', db.VARCHAR(36),
                               db.ForeignKey('users.id')),
                           db.Column(
                               'role_id', db.VARCHAR(36),
                               db.ForeignKey('roles.id'))
                           )

role_abilities_table = db.Table('role_abilities',
                              db.Column(
                                  'role_id', db.VARCHAR(36),
                                  db.ForeignKey('roles.id')),
                              db.Column(
                                  'ability_id', db.VARCHAR(36),
                                  db.ForeignKey('abilities.id'))
                              )

コード例 #28
0
from {{cookiecutter.app_name}}.database import db

tags_posts = db.Table('tags_posts',
                        db.Column('tag_id', db.Integer, db.ForeignKey('tags.id')),
                        db.Column('post_id', db.Integer, db.ForeignKey('posts.id'))
                        )
コード例 #29
0
from flask_login import UserMixin

from {{ cookiecutter.project_name }}.external import db


roles_users = db.Table('roles_users',
                       db.Column('role_id', db.ForeignKey('role.id',
                                                          ondelete='CASCADE'),
                                 nullable=False),
                       db.Column('user_id', db.ForeignKey('user.id',
                                                          ondelete='CASCADE'),
                                 nullable=False),
                       db.UniqueConstraint('role_id', 'user_id',
                                           name='ux_role_user'))


class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)

    roles = db.relationship('Role', secondary=roles_users,
                            backref=db.backref('users', lazy='dynamic'))


class Role(db.Model):
    id = db.Column(db.Integer, primary_key=True)