Django表单:唯一字段

Django表单:唯一字段,django,django-forms,Django,Django Forms,我有两个简单的表单/模型类 class Booking(forms.Form): name = models.CharField(max_length=100, verbose_name="Your name*:") place = models.ManyToManyField(Location, blank=True, null=True) class Location(models.Model): place = models.CharField(max_l

我有两个简单的表单/模型类

class Booking(forms.Form):  
    name = models.CharField(max_length=100, verbose_name="Your name*:")  
    place = models.ManyToManyField(Location, blank=True, null=True)

class Location(models.Model):
    place = models.CharField(max_length=100)
当我显示表单时,我只想显示以前未拾取的位置。我认为最棘手的一点是,我无法将unique=True添加到多个字段中

例如,用户x将从伦敦、加的夫或爱丁堡的列表中选择伦敦。当用户y加载表单时,伦敦将不再可供选择


有什么想法吗?

在模型级别控制它怎么样?在位置模型中添加一个称为“inuse”的布尔字段或类似的内容,然后您可以在表单中添加一个过滤器,该过滤器只选择未使用的过滤器

当用户x提交表单时,您会将inuse转换为True


此外,您还可以潜在地更改与ForeignKey的关系,然后您可以使用“unique”

wow不知道我会怎么做。我会根据模型还是视图进行过滤?我以前在视图中进行过过滤。我的表单中有一个名为“coach”的字段,我想用我创建的“coach”用户组中的所有用户填充它的下拉列表。类似这样的内容:form.fields['coach'].queryset=User.objects.all.filtergroups\uuu name='coach'