【发布时间】:2021-03-12 21:45:09
【问题描述】:
我正在使用 Django 制作预订系统。我希望能够查看“取消”预订。这涉及将模型的参与者(多头)设置为 None 并将booked_by 设置为 none。我不想删除预订,因为其他人可能想稍后再预订。我想删除 BookingSlot 的多线程中所有关系的能力会起作用。我希望能够在 form_valid() 中执行此操作。
#views.py
class CancelBookingView(UpdateView):
form_class = CancelBookingForm
model = BookingSlot
def form_valid(self, form):
form.instance.booked_by = None #This works fine
form.instance.participants.all = None #This doesn't work
return super().form_valid(form)
就你所见,我已经尝试过,它没有奏效。非常感谢您的帮助,谢谢!
#models.py
class BookingSlot(models.Model):
start_time = models.TimeField("Start Time")
end_time = models.TimeField("End Time")
date = models.DateField("Date")
location = models.ForeignKey(Court, on_delete=models.CASCADE)
booked_by = models.ForeignKey(CustomUser, on_delete=models.SET_NULL, default=None, blank=True, null=True, related_name="bookedBy_CustomerUser")
participants = models.ManyToManyField(CustomUser, default=None, blank=True, related_name="participant_CustomerUser")
【问题讨论】:
标签: django django-models django-views django-forms