-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase_setup.py
More file actions
43 lines (36 loc) · 1.26 KB
/
Copy pathdatabase_setup.py
File metadata and controls
43 lines (36 loc) · 1.26 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
from settings import db
class Company(db.Model):
__tablename__ = 'company'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True, nullable=False)
discp = db.Column(db.String(500))
phones = db.relationship('Phone', backref='Phone', lazy=True)
@property
def serialize(self):
"""Return object data in easily serializable format"""
return {
'name': self.name,
'id': self.id,
'description': self.discp,
}
class Phone(db.Model):
__tablename__ = 'phone'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20), unique=True, nullable=False)
specs = db.Column(db.String(500))
price = db.Column(db.Integer)
rating = db.Column(db.Integer, db.CheckConstraint('rating<=100'))
company_id = db.Column(db.Integer, db.ForeignKey('company.id'))
company = db.relationship('Company')
@property
def serialize(self):
"""Return object data in easily serializable format"""
return {
'name': self.name,
'specification': self.specs,
'id': self.id,
'price': self.price,
'rating': self.rating,
}
if __name__ == '__main__':
db.create_all()