В Django models есть такая вот модель:
DEFAULT_AUTOMOBILE_ID = 1
class Face(models.Model):
face_id = models.AutoField(primary_key=True)
gender = models.CharField(max_length=10)
age = models.PositiveIntegerField(default=1)
car = models.ForeignKey(Automobile, on_delete=True, default = DEFAULT_AUTOMOBILE_ID)
id_of_check = models.CharField(default='None', max_length=10)
def __str__(self):
return self.gender + " " + str(self.age)
Во views.py имеется функция import_db, которая парсит данные из csv файла data.csv, создавая инстансы модели Face
def import_db(request):
f = open('/home/user/main_django_folder/app_folder/data.csv', 'r')
for line in f:
line = line.split(',')
tmp = Face.objects.create()
tmp.face_id = line[0]
tmp.age = line[1]
tmp.gender = line[2]
tmp.car = Automobile.objects.get(pk = (line[3]))
tmp.id_of_check = line[4]
tmp.save()
f.close()
return render(request, 'home.html', {})
Файл csv выглядит следующим образом:
1,26,M,1,10,
2,27,M,4,11,
3,26,M,3,12,
4,27,M,4,13,
5,27,M,5,14,
6,27,M,3,15,
7,27,M,1,16,
8,27,M,4,17,
9,26,M,4,18,
10,26,M,5,19,
При выполнении функции import_db в базе данных происходит такая вот ситуация:
Открыть изображение
То есть вместе с нужными объектами моделей создаются ещё x2 объекты у которых выставляются дефолтные значения И ещё к тому же я удаляю их постоянно, пробую снова, они опять появляются, НО уже с обновленными айдишниками, которые где-то видимо считаются.
Вопрос мой заключается в том, как избавиться от этих дублирующихся инстансов.