def validate(self, data):
if self.instance and (now() - self.instance.created_at) > settings.PARKKIHUBI_TIME_PARKINGS_EDITABLE:
if set(data.keys()) != {'time_end'}:
raise ParkingException(
_('Grace period has passed. Only "time_end" can be updated via PATCH.'),
code='grace_period_over',
)
if self.instance:
# a partial update might be missing one or both of the time fields
time_start = data.get('time_start', self.instance.time_start)
time_end = data.get('time_end', self.instance.time_end)
else:
time_start = data['time_start']
time_end = data['time_end']
if time_end is not None and time_start > time_end:
raise serializers.ValidationError(_('"time_start" cannot be after "time_end".'))
return data
评论列表
文章目录