from django.db import models from .categories import ProductTag class BouquetName(models.Model): """ Модель для хранения предопределенных названий букетов с метаинформацией """ name = models.CharField( max_length=100, unique=True, verbose_name="Название букета" ) # Категории характеристик color_tags = models.ManyToManyField( ProductTag, blank=True, related_name='bouquet_names_by_color', verbose_name="Цветные теги" ) occasion_tags = models.ManyToManyField( ProductTag, blank=True, related_name='bouquet_names_by_occasion', verbose_name="Теги по поводу" ) style_tags = models.ManyToManyField( ProductTag, blank=True, related_name='bouquet_names_by_style', verbose_name="Теги по стилю" ) language = models.CharField( max_length=10, default='russian', verbose_name="Язык" ) is_approved = models.BooleanField( default=False, verbose_name="Одобрено для использования" ) usage_count = models.PositiveIntegerField( default=0, verbose_name="Количество использований" ) generated_at = models.DateTimeField( auto_now_add=True, verbose_name="Дата генерации" ) approved_at = models.DateTimeField( null=True, blank=True, verbose_name="Дата одобрения" ) class Meta: verbose_name = "Название букета" verbose_name_plural = "Названия букетов" indexes = [ models.Index(fields=['language', 'is_approved']), models.Index(fields=['usage_count']), ] def __str__(self): return self.name