legacy/pairent_backend/pairent_app/models.py

56 lines
4.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import uuid
from django.db import models
from django.core.validators import RegexValidator
class Apartament(models.Model):
"""Модель данных квартиры"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4, edtitable=False, help_text="Уникальный индетификатор квартиры")
# TODO: Нужно реализовать фотографии. Как вариант, сделать как в этой статье (https://habr.com/ru/articles/505946/)
price = models.IntegerField(max_value=450000, help_text="Стоимость аренды квартиры за месяц")
bail = models.IntegerField(max_value=450000, help_text="Стоимость залога квартиры")
agencyСommission = models.IntegerField(max_value=450000, verbose_name="Коммисия агенству")
utilitiesPrice = models.CharField(max_length=100, help_text="Стоимость коммунальных услуг")
minimumLeasePeriod = models.IntegerField(max_value=60, help_text="Минимальный срок аренды в месяцах")
address = models.CharField(max_length=100, help_text="Адрес квартиры")
description = models.TextField(max_length=300, help_text="Описание квартиры")
perimetrs = models.FloatField(max_value=250, help_text="Количество квадратных метров")
rooms = models.IntegerField(max_value=10, help_text="Количество комнат")
ceilingHeight = models.FloatField(max_value=5, help_text="Высота потолков в метрах")
floor = models.IntegerField(max_value=50, help_text="Этаж квартиры")
floorHouse = models.IntegerField(max_value=50, help_text="Количество этажей в доме")
phoneNumberRegex = RegexValidator(regex = r"^\+?1?\d{8,15}$")
phoneNumber = models.CharField(validators=[phoneNumberRegex], max_length=16, unique=True, help_text="Номер телефона для связи")
timeToBus = models.IntegerField(max_value=60, help_text="Время до ближайшей автобусной остановки в минутах")
timeToTrain = models.IntegerField(max_value=60, help_text="Время до ближайшей Ж/Д станции в минутах")
"""Параметры квартиры"""
isFurniture = models.BooleanField(help_text="Имеется мебель в квартире")
isAnimal = models.BooleanField(help_text="Можно с питомцем")
isTelevision = models.BooleanField(help_text="Имеется телевизор в квартире")
isСhild = models.BooleanField(help_text="Можно с детьми")
isInternet = models.BooleanField(help_text="Проведен интернет в квартире")
isBathroom = models.BooleanField(help_text="Имеется санузел в квартире")
isRefrigerator = models.BooleanField(help_text="Имеется холодильник в квартире")
isWasher = models.BooleanField(help_text="Имеется стиральная машинка в квартире")
isAirConditioning = models.BooleanField(help_text="Имеется кондиционер в квартире")
isFreshRepair = models.BooleanField(help_text="Недавно был ремонт в квартире")
"""Параметры дома"""
isElevator = models.BooleanField(help_text="Имеется лифт в доме")
isParking = models.BooleanField(help_text="Имеется закрытая парковка у дома")
isGarbageChute = models.BooleanField(help_text="Имеется мусоропровод в доме")
isConcierge = models.BooleanField(help_text="Имеется консьерж в доме")
# TODO: Нужно реализовать количество просмотров. Как вариант, сделать через IP (https://ru.stackoverflow.com/q/1233137)
dateCreate = models.DateField(auto_now_add=True, editable=False, help_text="Дата добавления квартиры")