我有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加载表格时,伦敦将不再可供选择。
有什么想法吗?
答案 0 :(得分:0)
如何在模型级别控制它?将一个名为“inuse”的BooleanField添加到Location模型中,然后您可以向表单添加一个过滤器,该过滤器仅选择未使用的过滤器。
当用户x提交表单时,您可以将其转换为True ...
此外,您可能会更改与ForeignKey的关系,然后您可以使用“unique”