class House(db.Model): id = db.Column(db.Integer, primary_key=True) house_name = db.Column(db.String(60), nullable=False) city = db.Column(db.String(60), nullable=False) postal_code = db.Column(db.Integer, nullable=False) address = db.Column(db.String(60), nullable=False) square_meters = db.Column(db.Integer, nullable=False) price = db.Column(db.Integer(), nullable=False) house_type = db.Column(db.String(20), nullable=True) visitors = db.Column(db.Integer(), nullable=True) user_id = db.Column(db.Integer()) image_file = db.Column(db.String(20), nullable=False, default='default_house.png')
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) phone = db.Column(db.Integer(), nullable=True, unique=True) birth_date = db.Column(db.DateTime, nullable=True) firstname = db.Column(db.String(20), nullable=True) surname = db.Column(db.String(20), nullable=True) sex = db.Column(db.String(8), nullable=True) reviews = db.Column(db.String, default='0.0') selected_id = db.Column(db.Integer) balance = db.Column(db.Float, nullable=True, default=0) selected_request = db.Column(db.Integer) # choice = db.Column(db.String(10)) houses = db.relationship('House', secondary=stayed, lazy='subquery', backref=db.backref('has_stayed', lazy=True)) def __repr__(self): return f"User({self.email}', '{self.password}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) phone = db.Column(db.Integer(), nullable=True) birth_date = db.Column(db.DateTime, nullable=True) firstname = db.Column(db.String(20), nullable=True) surname = db.Column(db.String(20), nullable=True) sex = db.Column(db.String(8), nullable=True) reviews = db.Column(db.String, default='0.0') has_stayed = db.Column(db.String, default='0') selected_id = db.Column(db.Integer) def stayed(self): return [int(x) for x in self.has_stayed.split(';')] def stayed(self, House): self.has_stayed += ';%s' % House.id def ratings(self): return [float(x) for x in self.reviews.split(';')] def ratings(self, Review): self.reviews += ';%s' % Review.stars def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class Review(db.Model): id = db.Column(db.Integer, primary_key=True) reviewer = db.Column(db.Integer, nullable=False) recipient = db.Column(db.Integer(), nullable=False) stars = db.Column(db.String(1), nullable=False) comments = db.Column(db.String(200)) type = db.Column(db.String(20))
class SearchInfo(db.Model): id = db.Column(db.Integer, primary_key=True) location = db.Column(db.String(60), nullable=False) arrival_date = db.Column(db.DateTime, nullable=True) guests = db.Column(db.Integer(), nullable=False) def __repr__(self): return f"'{self.location}', '{self.arrival_date}', '{self.guests}'"
class Communication(db.Model): id = db.Column(db.Integer, primary_key=True) sender = db.Column(db.Integer()) auto_type = db.Column(db.String(120)) select_type = db.Column(db.String(100)) receiver = db.Column(db.String(50), nullable=False) message = db.Column(db.String(150)) def __repr__(self): return f"Comunication('{self.auto_type}')"
class House(db.Model): id = db.Column(db.Integer, primary_key=True) house_name = db.Column(db.String(60), nullable=False) city = db.Column(db.String(60), nullable=False) postal_code = db.Column(db.Integer, nullable=False) address = db.Column(db.String(60), nullable=False) square_meters = db.Column(db.Integer, nullable=False) price = db.Column(db.Integer(), nullable=False) house_type = db.Column(db.String(20), nullable=True) visitors = db.Column(db.Integer(), nullable=True) available_from = db.Column(db.DateTime, default=datetime.utcnow, nullable=True) availability = db.Column(db.Boolean, default=True) user_id = db.Column(db.Integer()) image_file = db.Column(db.String(20), nullable=False, default='default_house.png') def __repr__(self): return f"'{self.price}', '{self.id}'"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) phone = db.Column(db.Integer(), nullable=True) birth_date = db.Column(db.DateTime, nullable=True) firstname = db.Column(db.String(20), nullable=True) surname = db.Column(db.String(20), nullable=True) sex = db.Column(db.String(8), nullable=True) reviews = db.Column(db.String, default='0.0') selected_id = db.Column(db.Integer) houses = db.relationship('House', secondary=stayed, lazy='subquery', backref=db.backref('has_stayed', lazy=True))
class SearchInfo(db.Model): id = db.Column(db.Integer, primary_key=True) location = db.Column(db.String(60), nullable=False) arrival_date = db.Column(db.DateTime, nullable=True) guests = db.Column(db.Integer())
class HouseSelector(db.Model): id = db.Column(db.Integer, primary_key=True) house_id = db.Column(db.Integer())
class Review(db.Model): id = db.Column(db.Integer, primary_key=True) reviewer = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) recipient = db.Column(db.Integer(), nullable=False) stars = db.Column(db.Integer, nullable=False) comments = db.Column(db.String(200))
class HouseSelector(db.Model): id = db.Column(db.Integer, primary_key=True) house_id = db.Column(db.Integer()) def __repr__(self): return f"'{self.id}', '{self.house_id}'"