Django形式:独特的领域

时间:2010-09-06 13:46:26

标签: django django-forms

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

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)

当我显示表单时,我只想显示之前未选择的位置。棘手的一点(我认为)将位置设为ManytoManyField,因为我无法向其添加unique=True

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如何在模型级别控制它?将一个名为“inuse”的BooleanField添加到Location模型中,然后您可以向表单添加一个过滤器,该过滤器仅选择未使用的过滤器。

当用户x提交表单时,您可以将其转换为True ...

此外,您可能会更改与ForeignKey的关系,然后您可以使用“unique”