Facebook
From Obese Treeshrew, 1 Year ago, written in Python.
Embed
Download Paste or View Raw
Hits: 94
  1. from . import db
  2. from flask_login import UserMixin
  3. from sqlalchemy.sql import func
  4. from dataclasses import dataclass
  5. from sqlalchemy_serializer import SerializerMixin
  6.  
  7.  
  8. @dataclass
  9. class User(db.Model, UserMixin, SerializerMixin):
  10.     serialize_only = ("id", "first_name", "email", "stoliki", "location",
  11.                       "cousine")
  12.     serialize_rules = ("-stoliki.user_id", )
  13.     id = db.Column(db.Integer, primary_key=True)
  14.     email = db.Column(db.String(150), unique=True)
  15.     password = db.Column(db.String(150))
  16.     first_name = db.Column(db.String(150))
  17.     location = db.Column(db.String(30))
  18.     cousine = db.Column(db.String(30))
  19.     # link_facebook = db.Column(db.String(100))
  20.     # link_instagram = db.Column(db.String(100))
  21.     stoliki = db.relationship('Stolik', back_populates='user')
  22.  
  23. @dataclass
  24. class Stolik(db.Model, SerializerMixin):
  25.     serialize_only = ("size", "queue_count")
  26.     id = db.Column(db.Integer, primary_key=True)
  27.     user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
  28.     size = db.Column(db.Integer)
  29.     queue = db.relationship('Klient', lazy=True)
  30.     #queue_length = len(queue)
  31.     current_number = db.Column(db.Integer)
  32.     user = db.relationship('User', back_populates='stoliki')
  33.  
  34.     @property
  35.     def queue_count(self):
  36.  
  37.         return len(self.queue)
  38.  
  39.     def __init__(self, user_id, size):
  40.         self.user_id = user_id
  41.         self.size = size
  42.         self.current_number = 0
  43.  
  44.  
  45. class Klient(db.Model, SerializerMixin):
  46.     id = db.Column(db.Integer, primary_key=True)
  47.     table_id = db.Column(db.Integer, db.ForeignKey('stolik.id'))
  48.     last_name = db.Column(db.String(50))
  49.     phone_number = db.Column(db.String(9))
  50.     uniqe_code = db.Column(db.String(10))
  51.  
  52.     def __init__(self, table_id, last_name, phone_number, uniqe_code):
  53.         self.table_id = table_id
  54.         self.last_name = last_name
  55.         self.phone_number = phone_number
  56.         self.uniqe_code = uniqe_code
  57.