Я не уверен, что вы пытаетесь сделать, но ваша немедленная ошибка от этой строки:
point_layer = point_layers.create( pk=size )
Когда вы используете create
, вам нужно убедиться, что все необходимые поля для модели переданы в метод, поскольку он создает и сохраняет объект.
Поскольку вы не передаете обязательное поле snow_Depth
,происходит сбой при попытке сохранить.
Вы можете либо передать все обязательные поля в create
, либо установить их вручную, а затем сохранить объект:
point_layer = PointLayer()
point_layer.pk = size
# .. other various fields
# Replace point_layer.get( pk=1 ).save( commit = False ) with:
point_layer.save()
Вышеприведенное решение решает вашу проблему, но ...
Я думаю, что вы, возможно, пытаетесь обновить некоторые PointLayer
объекты - с вашей последней строки point_layer.get( pk=1 ).save( commit = False )
Если это так, то вы действительно хотите заменить:
point_layer = point_layers.create( pk=size )
с:
point_layer = PointLayer.objects.get(pk=size)
Однако, поскольку вы удалили все объекты с этой строкой PointLayer.objects.all().delete()
, возможно, этоне тот случай.
Уточните, что вы собираетесь делать.