From d9ee2c28f858a5b97d00a9e4d56a4ac4ad269265 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Wed, 4 Sep 2013 15:37:24 +0000 Subject: modes: add model for group (with many-to-many member model) --- models.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/models.py b/models.py index 6ed3b48..b59ae66 100644 --- a/models.py +++ b/models.py @@ -1,4 +1,4 @@ -from peewee import CharField, DateTimeField, BooleanField +from peewee import CharField, DateTimeField, BooleanField, ForeignKeyField from peewee import create_model_tables from datetime import datetime from app import db @@ -14,5 +14,21 @@ class User(db.Model): def __unicode__(self): return self.username +class Group(db.Model): + name = CharField(unique=True) + api_id = CharField(null=True) + + def __unicode__(self): + return self.name + +class Member(db.Model): + group = ForeignKeyField(Group, related_name='members') + user = ForeignKeyField(User, related_name='groups') + manager = BooleanField(default=False) + admin = BooleanField(default=False) + + def __unicode__(self): + return "%s member of %s" % (self.user.username, self.group.name) + def create_tables(): - create_model_tables([User], fail_silently = True) + create_model_tables([User, Group, Member], fail_silently = True) -- cgit v1.2.3-1-g7c22