I'm trying to update the a large list of models via a CSV that gets updated periodically. Right now the initial upload of the CSV works like a charm and all models are properly written to the DB. However, when I try to update the models after they've been created, my serializer.is_valid()
returns the error ReturnDict([('inventory_number', [u'This field must be unique.'])])
.
Thus my question is: How do I update a models I've already created via 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
Lastly, I'm relatively new to Django and Django-Rest-Framework, so any insights/tips as to utilizing Serializers are appreciated. Thank you for your time.