Разрешить аутентифицированному пользователю бронировать нескольких пользователей Django

Я делаю сайт django с функцией бронирования. Теперь я создал рабочий веб-сайт, на котором есть функция бронирования для одного пользователя (который вошел в систему). Я хочу, чтобы вошедший в систему пользователь мог забронировать несколько своих друзей, которых может не быть в базе данных. Меня смущает модель. Я знаю, что у django есть набор форм для создания нескольких похожих форм, но я хочу, чтобы информация об этой форме была связана с одним пользователем (который их забронировал). Итак, что я думаю о модели:

class GroupBooking(models.Model):
    booker = models.ForeignKey(User,on_delete=models.CASCADE)
    number_of_people = models.PositiveIntegerField()

class UnregisteredUsers(models.Model):
    group = models.ForeignKey('GroupBooking',on_delete=models.CASCADE)
    name = models.CharField(max_length=50)
    mobile = models.CharField()
    # Other Information
    .        .        .
    .        .        .
    .        .        .

Number_of_people может быть числом созданных форм или его можно изменить динамически, добавив кнопку, которая создает новую форму и увеличивает ее.
Мне нужны предложения относительно моего подхода и того, как мне действовать дальше. Также я был бы признателен за некоторые материалы для чтения или учебные пособия, посвященные особенностям, связанным с таким процессом.


person A.Hamza    schedule 12.11.2019    source источник


Ответы (1)


Вы можете использовать MultiSelectField для этого конкретного поля, например

В случае models.py

SPORTS_CHOICES = (('cricket','cricket')
                 ('badminton','badminton')
                 ('tennis','tennis'))
sports = MultiSelectField(max_length = 35, choices = CLASS_CHOICES)

В случае forms.py

SPORTS_CHOICES = (('cricket','cricket')
                 ('badminton','badminton')
                 ('tennis','tennis'))
sports = MultiSelectFormField(max_length = 35, choices = CLASS_CHOICES)
person Manas Ranjan Pati    schedule 15.11.2019