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