1 from sqlalchemy.orm
import relationship
2 from sqlalchemy.schema
import Column, ForeignKey
3 from sqlalchemy.types
import Boolean, Integer
13 __tablename__ =
'buddies'
15 Integer(unsigned=
True), ForeignKey(
'users.id', ondelete=
'cascade'),
16 primary_key=
True, autoincrement=
False)
18 Integer(unsigned=
True), ForeignKey(
'users.id', ondelete=
'cascade'),
19 primary_key=
True, autoincrement=
False)
28 __tablename__ =
'users_challenges'
30 Integer(unsigned=
True), ForeignKey(
'users.id', ondelete=
'cascade'),
31 primary_key=
True, autoincrement=
False)
32 challenge_id = Column(
33 Integer(unsigned=
True), ForeignKey(
'challenges.id', ondelete=
'cascade'),
34 primary_key=
True, autoincrement=
False)
35 is_accepted = Column(Boolean, default=
None)
37 user = relationship(
'User', lazy=
'joined')
38 challenge = relationship(
'Challenge', lazy=
'joined')
46 return super(UserChallenge, cls).
create(user=user, challenge=challenge)
61 __tablename__ =
'users_notifications'
62 notification_id = Column(
63 Integer(unsigned=
True),
64 ForeignKey(
'notifications.id', ondelete=
'cascade'),
65 primary_key=
True, autoincrement=
False)
67 Integer(unsigned=
True), ForeignKey(
'users.id', ondelete=
'cascade'),
68 primary_key=
True, autoincrement=
False)
69 is_confirmed = Column(Boolean, nullable=
False, default=
False)
81 __tablename__ =
'users_groups'
83 Integer(unsigned=
True), ForeignKey(
'users.id', ondelete=
'cascade'),
84 primary_key=
True, autoincrement=
False)
86 Integer(unsigned=
True), ForeignKey(
'groups.id', ondelete=
'cascade'),
87 primary_key=
True, autoincrement=
False)