class UserDetail(db.Model): __tablename__ = 'userdetail' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(60), nullable=False) street = db.Column(db.String(100), nullable=True) city = db.Column(db.String(50), nullable=False) phone = db.Column(db.String(20), nullable=False) website = db.Column(db.String(50), nullable=False) date = db.Column(db.Date, nullable=True) uid = db.Column(db.Integer, db.ForeignKey('users.uid')) user = db.relationship('Users', primaryjoin="Users.uid == UserDetail.uid", backref=db.backref('users', lazy="joined")) def __init__(self, name, street, city, phone, website, date, uid): self.name = name self.street = street self.city = city self.phone = phone self.website = website self.date = date self.uid = uid def is_verified(self): return self.appstatus def __unicode__(self): return self.website
class Users(db.Model, UserMixin): __tablename__ = 'users' uid = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(60), unique=True) pwdhash = db.Column(db.String(60)) email = db.Column(db.String(60), unique=True) fb_id = db.Column(db.String(30), unique=True) role = db.Column(db.SmallInteger) activate = db.Column(db.Boolean) created = db.Column(db.DateTime) def __init__(self, username, password, email, role): self.username = username self.pwdhash = bcrypt.generate_password_hash(password) self.email = email self.role = role self.activate = False self.created = datetime.utcnow() def check_password(self, password): return bcrypt.check_password_hash(self.pwdhash, password) def get_role(self): return unicode(self.role) def is_active(self): return self.activate def is_authenticated(self): return True def get_id(self): return self.uid def __unicode__(self): return self.username