首页 > 解决方案 > 允许经过身份验证的用户预订多个用户 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可以是创建的表单数量,也可以通过添加创建新表单和增量的按钮来动态更改。
我想要关于我的方法以及我应该如何继续前进的建议。另外,我希望能提供一些阅读材料或教程,涵盖此类过程中涉及的功能。

标签: djangodjango-models

解决方案


您可以将 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)

推荐阅读