Мой экземпляр, кажется, сохраняется, когда я вызываю метод save
. Проблема: экземпляр уже существует в моей базе данных!модель экземпляра существует, но «сохранена» в любом случае
Моя модель:
class DosIdModel(models.Model):
dosId = models.IntegerField(max_length=7, primary_key=True)
proposOrigine = models.CharField(max_length=4)
proposAnnee = models.IntegerField(max_length=4)
proposChrono = models.CharField(max_length=7)
splitNumber = models.IntegerField(max_length=1, blank=True, null=True, default=None)
Мое мнение:
instance = DosIdModel()
instance.dosId=int(row[0])
instance.proposOrigine=row[1].strip()
instance.proposAnnee=int(row[2])
instance.proposChrono=row[3].strip()
instance.splitNumber=emptyOrVar(row[4], "int")
msg=(instance.dosId)
savedList=[]
errors_list=[]
try:
print "exist: ", DosIdModel.objects.get(dosId=instance.dosId).dosId
instance.save()
print "saved"
savedList.append(msg)
print "end try"
except IntegrityError, e:
print "except"
error= "The row " + str(msg) + " already exists!!"
Результат в консоли:
exist: 104486
saved
end try
Что не так?
Извините, не знаю, что этот фрагмент кода пытается продемонстрировать. –
Почему это проблема? По-видимому, уже есть запись с тем же «dosId». Поэтому '.save()' будет просто обновлять эту запись. – jproffitt
Если вы работаете с данными из форм, вам лучше использовать интегрированные формы ... – Jingo