Modellarga o'zgartirish kiritildi va filters qo'shildi
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from .badge import * # noqa
|
||||
from .extra_services import * # noqa
|
||||
from .hotel import * # noqa
|
||||
from .tariff import * # noqa
|
||||
from .tickets import * # noqa
|
||||
from .tickets import * # noqa
|
||||
|
||||
34
core/apps/tickets/models/badge.py
Normal file
34
core/apps/tickets/models/badge.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_core.models import AbstractBaseModel
|
||||
|
||||
|
||||
class BadgeModel(AbstractBaseModel):
|
||||
Color_Choice = (
|
||||
("red", "red"),
|
||||
("green", "green"),
|
||||
("blue", "blue"),
|
||||
("yellow", "yellow"),
|
||||
("orange", "orange"),
|
||||
("purple", "purple"),
|
||||
("black", "black"),
|
||||
("white", "white"),
|
||||
("gray", "gray"),
|
||||
)
|
||||
|
||||
name = models.CharField(max_length=255, verbose_name=_("badge name"))
|
||||
color = models.CharField(max_length=255, choices=Color_Choice, verbose_name=_("badge color"), default="red")
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
return self.objects.create(
|
||||
name="mock",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = "badge"
|
||||
verbose_name = _("BadgeModel")
|
||||
verbose_name_plural = _("BadgeModels")
|
||||
@@ -4,7 +4,32 @@ from django_core.models import AbstractBaseModel
|
||||
from .tickets import TicketsModel
|
||||
|
||||
|
||||
class HotelTypeModel(models.Model):
|
||||
name = models.CharField(verbose_name=_("name"), max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
return self.objects.create(
|
||||
name="mock",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = "hotel_types"
|
||||
verbose_name = _("HotelTypeModel")
|
||||
verbose_name_plural = _("HotelTypeModels")
|
||||
|
||||
|
||||
class HotelModel(AbstractBaseModel):
|
||||
MEAL_PLAN_CHOICES = [
|
||||
("all_inclusive", "All Inclusive"),
|
||||
("breakfast", "Breakfast Only"),
|
||||
("half_board", "Half Board"),
|
||||
("full_board", "Full Board"),
|
||||
]
|
||||
|
||||
ticket = models.ForeignKey(TicketsModel, related_name="ticket_hotel", verbose_name=_("ticket"),
|
||||
on_delete=models.CASCADE)
|
||||
name = models.CharField(verbose_name=_("name"), max_length=255)
|
||||
@@ -15,6 +40,9 @@ class HotelModel(AbstractBaseModel):
|
||||
phone = models.CharField(verbose_name=_("phone number"), max_length=50, blank=True, null=True)
|
||||
website = models.URLField(verbose_name=_("hotel website"), blank=True, null=True)
|
||||
rating = models.FloatField(verbose_name=_("rating"), blank=True, null=True)
|
||||
meal_plan = models.CharField(verbose_name=_("meal plan"), choices=MEAL_PLAN_CHOICES, max_length=255,
|
||||
default="breakfast")
|
||||
hotel_type = models.ManyToManyField(HotelTypeModel, verbose_name=_("hotel type"))
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ from django_core.models import AbstractBaseModel
|
||||
|
||||
from core.apps.accounts.models import User
|
||||
from core.apps.accounts.models.participant import ParticipantModel
|
||||
|
||||
from .tariff import TariffModel
|
||||
from django.utils.text import slugify
|
||||
|
||||
@@ -29,7 +28,9 @@ class TicketsModel(AbstractBaseModel):
|
||||
duration_days = models.IntegerField(verbose_name=_("duration days"))
|
||||
hotel_meals = models.TextField(verbose_name=_("hotel meals"), null=True, blank=True)
|
||||
tariff = models.ManyToManyField(TariffModel, related_name="ticket_tariffs", verbose_name=_("tariff"))
|
||||
slug = models.SlugField(verbose_name=_("slug"), max_length=255, unique=True)
|
||||
slug = models.SlugField(verbose_name=_("slug"), max_length=255, unique=True, null=True, blank=True)
|
||||
badge = models.ManyToManyField("tickets.BadgeModel", verbose_name=_("badge"), null=True, blank=True)
|
||||
visa_required = models.BooleanField(verbose_name=_("visa required"))
|
||||
created_at = models.DateTimeField(verbose_name=_("created at"), auto_now_add=True)
|
||||
updated_at = models.DateTimeField(verbose_name=_("updated at"), auto_now=True)
|
||||
|
||||
@@ -43,6 +44,8 @@ class TicketsModel(AbstractBaseModel):
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
from core.apps.tickets.models.badge import BadgeModel
|
||||
|
||||
return self.objects.create(
|
||||
name="mock",
|
||||
price=150000,
|
||||
@@ -53,6 +56,7 @@ class TicketsModel(AbstractBaseModel):
|
||||
rating=4.5,
|
||||
hotel_info="mock",
|
||||
duration_days=15,
|
||||
badge=BadgeModel._create_fake(),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
@@ -301,6 +305,7 @@ class TicketorderModel(AbstractBaseModel):
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
from core.apps.tickets.models.extra_services import ExtraServicesModel, PaidServicesModel
|
||||
return self.objects.create(
|
||||
user=User._create_fake(),
|
||||
departure="mock",
|
||||
|
||||
Reference in New Issue
Block a user