Я пытаюсь обновить большой список моделей через CSV, который периодически обновляется. В настоящий момент начальная загрузка CSV работает как шарм, и все модели правильно записываются в БД. Однако, когда я пытаюсь обновить модели после их создания, мой serializer.is_valid()
возвращает ошибку ReturnDict([('inventory_number', [u'This field must be unique.'])])
.Обновление существующих моделей с помощью Django Rest Framework Сериализаторы
Таким образом, мой вопрос: Как обновить модели, которые я уже создал через Serializers?
models.py:
class MyModel(models.Model):
inventory_number = models.IntegerField(primary_key=True)
location = models.CharField(max_length=40, blank=True)
views.py:
file_obj = request.data['file']
lines = csv.reader(file_obj, delimiter=",")
for line in lines:
data = {
'inventory_number': line[0],
'location': line[1]
}
serializer = self.serializer_class(data=data)
if serializer.is_valid():
MyModel.objects.save_model(**serializer.validated_data)
else:
print serializer.errors
Наконец, я относительно новым для Django и Django-Rest-Framework, так что любые идеи/советы, как к использованию Сериализаторы оценены. Спасибо за ваше время.
Вы пытаетесь создать новые объекты с этим кодом. Вам понадобится 'some_obj = MyModel.objects.get (строка [0])', затем измените значения и сохраните их. – IanAuld