何处与其他模型相关的验证

时间:2016-09-30 09:07:55

标签: validation django-rest-framework

我使用Django REST Framework,我有一个代表房间预订的模型:

class Booking(models.Model):

    user = models.ForeignKey(settings.AUTH_USER_MODEL)

    begin_date = models.DateField()
    end_date = models.DateField()

不允许预订在时间上重叠。因此,我必须将用户想要预订房间的日期与之前的所有预订进行比较。

我可以验证这个

  • 在我的serializers.ModelSerializer课程中使用验证器,但我的验证并非真正关于消毒
  • ModelViewSet create方法{/ 1}}中的{{1>}或 使用CreateModelMixin方法保存时Booking - 模型中的

Django REST Framework开发人员针对这个特定问题的方式是什么?

1 个答案:

答案 0 :(得分:0)

我通常通过在调用序列化程序的保存之前重写我的视图的创建/更新来调用某些业务或额外的验证步骤来解决这个问题。