【发布时间】:2018-06-10 05:35:52
【问题描述】:
我正在努力让用户只能安排一次约会。这里我正在修改保存方法。我想弄清楚的是如何查看该用户是否已经有约会。
def save(self, *args, **kwargs):
if Appointment.objects.filter(owner=user_pk).exists() and not self.pk:
# if you'll not check for self.pk
# then error will also raised in update of exists model
raise ValidationError('You have already scheduled an appointment.')
return super(Appointment, self).save(*args, **kwargs)
在我的 views.py 中,如果与该用户的约会已经存在,我已经有一些会引发错误的东西。但我认为这还不够,模型级别应该有一些东西。
appointments = Appointment.objects.filter(owner=request.user)
if appointments.exists():
raise PermissionDenied('You have already scheduled an appointment.')
【问题讨论】:
标签: django django-models django-forms django-rest-framework django-views