Advertisement
Guest User

Untitled

a guest
May 20th, 2020
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. from datetime import datetime
  2.  
  3. from django.db import models
  4. from autoslug import AutoSlugField
  5.  
  6.  
  7. class Hall(models.Model):
  8.     name = models.CharField(unique=True, max_length=255, verbose_name='Название зала')
  9.     hall_slug = AutoSlugField(populate_from='name', allow_unicode=True, always_update=True, verbose_name='Ссылка')
  10.     width = models.PositiveSmallIntegerField(default=0, verbose_name='Ширина зала %')
  11.     height = models.PositiveSmallIntegerField(default=0, verbose_name='Длина зала %')
  12.  
  13.     def __str__(self):
  14.         return f'Зал {self.name}'
  15.  
  16.     class Meta:
  17.         verbose_name_plural = 'Залы'
  18.  
  19.  
  20. class Table(models.Model):
  21.     SHAPE_CHOICES = (
  22.         (1, 'Прямоугольный'),
  23.         (2, 'Овальный'),
  24.     )
  25.  
  26.     hall = models.ForeignKey(Hall, on_delete=models.CASCADE, verbose_name='Зал')
  27.     shape = models.IntegerField(choices=SHAPE_CHOICES, verbose_name='Тип стола')
  28.     number = models.IntegerField(verbose_name='Номер стола')
  29.     seats = models.IntegerField(verbose_name='Количество мест')
  30.     width = models.PositiveSmallIntegerField(default=0, verbose_name='Ширина стола')
  31.     height = models.PositiveSmallIntegerField(default=0, verbose_name='Длина стола')
  32.  
  33.     coordinate_x = models.PositiveSmallIntegerField(default=0, verbose_name='Расположение по оси X')
  34.     coordinate_y = models.PositiveSmallIntegerField(default=0, verbose_name='Расположение по оси Y')
  35.  
  36.     def __str__(self):
  37.         return f'{self.number}'
  38.  
  39.     class Meta:
  40.         verbose_name_plural = 'Столы'
  41.  
  42.  
  43. class Order(models.Model):
  44.     hall = models.ForeignKey(Hall, on_delete=models.CASCADE, verbose_name='Зал')
  45.     name = models.CharField(max_length=255, verbose_name='Имя')
  46.     email = models.EmailField()
  47.     table = models.ForeignKey(Table, on_delete=models.CASCADE, related_name='order_table', verbose_name='Столик')
  48.     date = models.DateField(verbose_name='Дата заказа')
  49.  
  50.     class Meta:
  51.         verbose_name_plural = 'Заказы'
  52.         unique_together = 'table', 'date'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement