-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmodels.py
More file actions
22 lines (18 loc) · 815 Bytes
/
models.py
File metadata and controls
22 lines (18 loc) · 815 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from app import db
from datetime import datetime
class Review(db.Model):
id = db.Column(db.Integer, primary_key=True)
rating = db.Column(db.Integer, nullable=False) # 0-5 stars
feedback = db.Column(db.Text, nullable=True) # Optional anonymous feedback
user_ip = db.Column(db.String(45), nullable=True) # Store IP for basic analytics (IPv4/IPv6)
user_agent = db.Column(db.String(500), nullable=True) # Browser info for analytics
created_at = db.Column(db.DateTime, default=datetime.utcnow)
def __repr__(self):
return f'<Review {self.id}: {self.rating} stars>'
def to_dict(self):
return {
'id': self.id,
'rating': self.rating,
'feedback': self.feedback,
'created_at': self.created_at.isoformat()
}