1
2
# -*- coding utf-8 -*-
3
4
5
from flask.ext.sqlalchemy import SQLAlchemy
6
from datetime import datetime
7
8
db = SQLAlchemy()
9
10
class User(db.Model):
11
    """ docstring """
12
    __tablename__ = 'users'
13
14
    id = db.Column(db.Integer, primary_key=True)
15
    username = db.Column(db.String(80))
16
    email = db.Column(db.String(120), unique=True)
17
    created = db.Column(db.DateTime, default=datetime.utcnow)
18
    last_active = db.Column(db.DateTime, default=datetime.utcnow)
19
20
    def __init__(self, username, email):
21
        self.username = username
22
        self.email = email
23
24
    @staticmethod                     # query record by ID
25
    def getById(id):
26
        return User.query.get(id)
27
28
    @staticmethod
29
    def getByEmail(email):              #Query record by email
30
        tofind = User.query.filter_by(email=email).first()
31
        return tofind
32
33
    @staticmethod
34
    def getByName(username):      #Query record by username
35
        tofind = User.query.filter_by(username=username).first()
36
        return tofind
37
38
    def persist(self):        #To create record
39
        db.session.add(self)
40
        db.session.commit()
41
42
    def delete(self):            # To delete a record
43
        db.session.delete(self)
44
        db.session.commit()
45
46
47
    def __repr__(self):
48
        return '<User %r %r>' % (self.username, self.email)