-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodels.py
More file actions
97 lines (77 loc) · 3.53 KB
/
Copy pathmodels.py
File metadata and controls
97 lines (77 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import random
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']= 'mysql://root:root@127.0.0.1:8889/mile'
db = SQLAlchemy(app)
print db
users = db.Table('user_event_mapping',
db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
db.Column('event_id', db.Integer, db.ForeignKey('event.id'))
)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True)
email = db.Column(db.String(128), unique=True)
phone = db.Column(db.String(10), unique=True)
password = db.Column(db.String(128), unique=True)
otp = db.Column(db.Integer, unique=True)
first_places = db.relationship('Event', backref='first_user',foreign_keys='Event.winner_id', lazy='dynamic')
second_places = db.relationship('Event', backref='second_user',foreign_keys='Event.second_id', lazy='dynamic')
third_places = db.relationship('Event', backref='third_user', foreign_keys='Event.third_id',lazy='dynamic')
events = db.relationship('Event', secondary='user_event_mapping',
#foreign_keys='Event',
backref=db.backref('event_users', lazy='dynamic'))
def __init__(self, username, phone, email):
self.username = username
self.email = email
self.phone = phone
self.otp = random.randint(10000, 99999)
def __repr__(self):
return '<User %r>' %self.username
class Event(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
total_tickets = db.Column(db.Integer)
avail_tickets = db.Column(db.Integer)
lat = db.Column(db.Float)
lug = db.Column(db.Float)
price = db.Column(db.Integer)
datetime = db.Column(db.DateTime)
winner_id = db.Column(db.Integer, db.ForeignKey('user.id'))
second_id = db.Column(db.Integer, db.ForeignKey('user.id'))
third_id = db.Column(db.Integer, db.ForeignKey('user.id'))
first_prize = db.Column(db.Integer)
second_prize = db.Column(db.Integer)
third_prize = db.Column(db.Integer)
sponsors = db.relationship('Sponsors', secondary='sponsors_event_mapping',
backref=db.backref('events', lazy='dynamic'))
coordinator = db.relationship('coordinator', backref='coordinator.event', lazy='dynamic')
def __repr__(self):
return '<Event %r>' %self.name
class Sponsors(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
logo_url = db.Column(db.String(256))
def __repr__(self):
return '<Sponsor %r>' %self.name
sponsors = db.Table('sponsors_event_mapping',
db.Column('sponsor_id', db.Integer, db.ForeignKey('sponsors.id')),
db.Column('event_id', db.Integer, db.ForeignKey('event.id'))
)
class coordinator(db.Model):
id = db.Column(db.Integer, primary_key=True)
event = db.Column(db.Integer, db.ForeignKey('event.id'))
username = db.Column(db.String(64))
password = db.Column(db.String(256))
class publicity_team(db.Model):
id = db.Column(db.Integer, primary_key=True)
lead_id = db.Column(db.Integer)
publicity_user = db.relationship('publicity_user', backref='publicity_team_user', lazy='dynamic')
class publicity_user(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64))
password = db.Column(db.String(256))
publicity_team = db.Column(db.Integer, db.ForeignKey('publicity_team.id'))
def __repr__(self):
return '<Pub_user %r>' %self.name