def korben_view(request, model):
"""View for Korben."""
data = request.data
try:
obj = model.objects.get(pk=data['id'])
for key, value in data.items():
setattr(obj, key, value)
except model.DoesNotExist:
obj = model(**data)
# create datetime objects for datetime fields
for field in obj._meta.fields:
if isinstance(field, DateTimeField):
try:
date_obj = parse_date(getattr(obj, field.name, None))
setattr(obj, field.name, date_obj)
except (ValueError, AttributeError):
if field.null:
pass
else:
return Response(data=data, status=HTTP_400_BAD_REQUEST)
obj.save(as_korben=True) # data comes from Korben, kill validation
return Response(data={'message': 'OK'})
评论列表
文章目录