예제 #1
0
class UserModel(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100))
    password = db.Column(db.String(100))
    address = db.relationship('AddressModel', backref='user', lazy=True)

    #backref is a simple way to also declare a new property 'user' on the AddressModel class.

    def __init__(self, username, password):
        self.username = username
        self.password = password

    def add_address(self, address):
        self.address.append(address)

    def json(self):
        return {
            "id": self.id,
            "username": self.username,
            "password": self.password,
            "addresses": [addr.json() for addr in self.address]
        }

    @classmethod
    def find_by_username(cls, username):
        return cls.query.filter_by(username=username).first().json()

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()
        return self.id
예제 #2
0
class CourseModel(db.Model):
    __tablename__ = 'course'

    course_id = db.Column(db.Integer, primary_key=True)
    course_name = db.Column(db.String(100))

    def __init__(self, course_name):
        self.course_name = course_name

    def json(self):
        return {"course_id": self.course_id, "course_name": self.course_name}

    @classmethod
    def find_by_course_name(cls, name):
        return cls.query.filter_by(course_name=name).first()

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()
        return self.course_id
예제 #3
0
class StudentModel(db.Model):
    __tablename__ = 'student'
    student_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    age = db.Column(db.Integer)
    gender = db.Column(db.String(100))

    courses = db.relationship('CourseModel',
                              secondary=student_course,
                              lazy='subquery',
                              backref=db.backref('students', lazy=True))

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender
        self.course_names = []

    def assign_course(self, course_name):
        self.course_names.append(course_name)

    def json(self):
        return {
            "student_id": self.student_id,
            "name": self.name,
            "age": self.age,
            "gender": self.gender,
            "courses": [course.json() for course in self.courses]
        }

    @classmethod
    def find_by_student_id(cls, id):
        return cls.query.filter_by(student_id=id).first()

    def save_to_db(self):
        for course_name in self.course_names:
            self.courses.append(CourseModel.find_by_course_name(course_name))
        db.session.add(self)
        db.session.commit()
        return self.student_id
예제 #4
0
class AddressModel(db.Model):
    __tablename__ = 'address'
    id = db.Column(db.Integer, primary_key=True)
    county = db.Column(db.String(100))
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)

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

    def json(self):
        return {"id": self.id, "county": self.county, "user_id": self.user_id}

    @classmethod
    def find_by_id(cls, id):
        address = cls.query.filter_by(id=id).first()
        print(address.user.json())
        return address.json()

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()
        return self.id
예제 #5
0
'''
Created on 10 Oct 2017

@author: neeraj.mahajan
'''
from database.config import db
from test import test_namespace_pkgs

student_course = db.Table(
    'student_course',
    db.Column('student_id',
              db.Integer,
              db.ForeignKey('student.student_id'),
              primary_key=True),
    db.Column('course_id',
              db.Integer,
              db.ForeignKey('course.course_id'),
              primary_key=True),
)


class StudentModel(db.Model):
    __tablename__ = 'student'
    student_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    age = db.Column(db.Integer)
    gender = db.Column(db.String(100))

    courses = db.relationship('CourseModel',
                              secondary=student_course,
                              lazy='subquery',
예제 #6
0
 def setUp(self):
     TestCase.setUp(self)
     self.column = db.Column(SqliteNumeric)