Пример #1
0
    request_token_params={'scope': 'email'})

# table with many-to-many relationships for quizzes and questions
# following http://flask-sqlalchemy.pocoo.org/2.1/models/
# and https://techarena51.com/blog/many-to-many-relationships-with-flask-sqlalchemy/
quizz_questions = db.Table(
    'quizz_questions',
    db.Column('quizz_id',
              db.Integer,
              db.ForeignKey('quizz.id'),
              nullable=False),
    db.Column('question_id',
              db.Integer,
              db.ForeignKey('question.id'),
              nullable=False),
    db.PrimaryKeyConstraint('quizz_id', 'question_id'))


class Quizz(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.Text)
    pub_date = db.Column(db.DateTime)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    questions = db.relationship('Question',
                                secondary=quizz_questions,
                                backref=db.backref('quizzes', lazy='dynamic'))

    def __init__(self, user, title):
        self.user = user
        self.title = title
        self.pub_date = datetime.utcnow()
Пример #2
0
        user = User.query.get(data['id'])
        if user and user.can_login():
            return user

    def __repr__(self):
        return self.email

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


group_banned_user = db.Table(  # Secondary Table for many-to-many mapping
    'groups_banned_users',
    db.Column('group_id', db.String(32), db.ForeignKey('groups.id')),
    db.Column('user_id', db.String(32), db.ForeignKey('users.id')),
    db.PrimaryKeyConstraint('group_id', 'user_id'))


class GroupUserAssociation(db.Model
                           ):  # Association Object for many-to-many mapping
    __tablename__ = 'groups_users_association'
    group_id = db.Column(db.String(32),
                         db.ForeignKey('groups.id'),
                         primary_key=True)
    user_id = db.Column(db.String(32),
                        db.ForeignKey('users.id'),
                        primary_key=True)
    manager = db.Column(db.Boolean, default=False)
    owner = db.Column(db.Boolean, default=False)
    user = db.relationship("User", back_populates="groups")
    group = db.relationship("Group", back_populates="users")
Пример #3
0
class Tags(db.Model):
    """
    Tags table
    """
    __tablename__ = 'tags'
    id = db.Column(db.Integer, primary_key=True)
    tag = db.Column(db.String, unique=True, nullable=False)

    def __repr__(self):
        return '%s' % self.tag


tags_joiner = db.Table(
    'tags_joiner', db.Column('tag_id', db.Integer, db.ForeignKey('tags.id')),
    db.Column('mediaitem_id', db.Integer, db.ForeignKey('media_item.id')),
    db.PrimaryKeyConstraint('tag_id', 'mediaitem_id'))


class MediaItem(db.Model):
    """
    The model that media items (videos, pictures etc) are parented from
    """
    __tablename__ = "media_item"
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, unique=True)
    about = db.Column(db.String)
    date_published = db.Column(db.Date)
    licence = db.Column(db.Integer, db.ForeignKey('licence.id'))
    postcard = db.Column(db.Integer, db.ForeignKey('postcard.id'))
    tags = db.relationship('Tags',
                           secondary=tags_joiner,
Пример #4
0
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.exc import SQLAlchemyError
from marshmallow import Schema, fields, validate
from flask.ext.login import UserMixin

db = SQLAlchemy()

# Relationships

user_roles=db.Table('user_roles',

                             db.Column('user_id', db.Integer,db.ForeignKey('users.id'), nullable=False),
                             db.Column('role_id',db.Integer,db.ForeignKey('roles.id'),nullable=False),
                             db.PrimaryKeyConstraint('user_id', 'role_id')
                             )

class UserRoles():
    def __init__(self,user_id,role_id):
      self.user_id=user_id
      self.role_id=role_id

db.mapper(UserRoles, user_roles)

class Users(db.Model, UserMixin):
  id = db.Column(db.Integer, primary_key=True)
  email = db.Column(db.String(250), unique=True, nullable=False)
  name = db.Column(db.String(250), nullable=False)
  password = db.Column(db.String(250), nullable=False)
  is_enabled = db.Column(db.Boolean(), nullable=False, server_default='False')
  roles = db.relationship('Roles', secondary='user_roles', backref=db.backref('users', lazy='dynamic'))
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

flask_app = Flask(__name__)
SQLALCHEMY_DATABASE_URI='postgresql://*****:*****@localhost:5432/database'
db = SQLAlchemy(app)
relationship_table=db.Table('relationship_table',

                             db.Column('post_id', db.Integer,db.ForeignKey('posts.id'), nullable=False),
                             db.Column('tags_id',db.Integer,db.ForeignKey('tags.id'),nullable=False),
                             db.PrimaryKeyConstraint('post_id', 'tags_id') )

class Posts(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  title = db.Column(db.String(255),nullable=False)
  content = db.Column(db.Text)
  tags=db.relationship('Tags', secondary=relationship_table, backref='posts' )

class Tags(db.Model):
     id=db.Column(db.Integer, primary_key=True)
     name=db.Column(db.String, unique=True, nullable=False)
     description=db.Column(db.Text)

"""
from flask_main import app
from flask_sqlalchemy import *

# from sqlalchemy import Table, Column, Integer, String
# from sqlalchemy.orm import mapper
# from yourapplication.database import metadata, db_session
Пример #6
0
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.exc import SQLAlchemyError
from marshmallow import Schema, fields, validate
from flask.ext.login import UserMixin

db = SQLAlchemy()

# Relationships

user_roles = db.Table(
    'user_roles',
    db.Column('user_id', db.Integer, db.ForeignKey('users.id'),
              nullable=False),
    db.Column('role_id', db.Integer, db.ForeignKey('roles.id'),
              nullable=False), db.PrimaryKeyConstraint('user_id', 'role_id'))


class UserRoles():
    def __init__(self, user_id, role_id):
        self.user_id = user_id
        self.role_id = role_id


db.mapper(UserRoles, user_roles)


class Users(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(250), unique=True, nullable=False)
    name = db.Column(db.String(250), nullable=False)
    password = db.Column(db.String(250), nullable=False)
Пример #7
0
Файл: api.py Проект: tylux/yoked
@app.teardown_appcontext
def shutdown_session(exception=None):
    db.session.remove()


# ------------------------------------------------
# Database Models
# ------------------------------------------------
group_linking = db.Table(
    'group_linking',
    db.Column('group_id',
              db.Integer,
              db.ForeignKey('group.id'),
              nullable=False),
    db.Column('user_id', db.Integer, db.ForeignKey('user.id'), nullable=False),
    db.PrimaryKeyConstraint('group_id', 'user_id'))

group_instance = db.Table(
    'group_instances',
    db.Column('group_id',
              db.Integer,
              db.ForeignKey('group.id'),
              nullable=False),
    db.Column('instance_id',
              db.Integer,
              db.ForeignKey('instance.id'),
              nullable=False),
    db.PrimaryKeyConstraint('group_id', 'instance_id'))


class Instance(db.Model):