This file looks large and may slow your browser down if we attempt
to syntax highlight it, so we are showing it without any
pretty colors.
Highlight
it anyway.
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) |