#python #django #django-models #model #field
#python #django #django-модели #Модель #поле
Вопрос:
У меня есть модель следующим образом.
У меня есть 4 поля выбора для людей, которые (одиночные, семейные, семейные и групповые). Пользователи могут выбрать любое. Но проблема в том, что когда пользователь выбирает family, он также должен выбрать количество детей и взрослых, которые отправляются в поездку.
Теперь, как я могу создать поле в модели таким образом, чтобы у меня было 4 варианта, но для семейного выбора мне также нужна опция выбора «нет взрослых» и «нет детей». То же самое касается выбора группы.
Теперь моя модель:
class CustomBooking(models.Model):
PEOPLE_CHOICES = (
('Single', 'Single',),
('Couple', 'Couple',),
('Family', 'Family',),
('Group', 'Group'),
)
AGE_GROUP = (
('18-35 yrs', '18-35 yrs',),
('36-50 yrs', '36-50 yrs',),
('51-64 yrs', '51-64 yrs',),
('65 yrs', '65 yrs',),
)
people = models.CharField(max_length=64, choices=PEOPLE_CHOICES, default='Couple')
geographical_area = models.CharField(max_length=255)
bookedfor = models.DateField(blank=True)
age_group = models.CharField(max_length=64, choices=AGE_GROUP, default='18-35 yrs')
trip_title = models.CharField(max_length=255)
description = RichTextField()
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ('created_at',)
Ответ №1:
Просто добавьте поля и присвоите им значение по умолчанию.
class CustomBooking(models.Model):
...
number_of_children = models.IntegerField(default=0)
number_of_adults = models.IntegerField(default=0)
Комментарии:
1. Это может сработать. Но правильный ли это подход?? Я имею в виду, что в моей серверной CRM, даже если я выбираю одного или пару, я все равно не могу выбрать ни одного из детей или взрослых, что не то, что мы хотим.