Bu kodun neden yinelenen bir girdiye neden olduğunu anlamama yardımcı olabilir misiniz (IntegrityError)?Django - get_or_create çalışmıyor
Django 1.2'deyim.
(row, is_new) = MyModel.objects.get_or_create(field1=1)
row.other_field = 2
row.save()
Alan1 üzerinde benzersiz bir kısıtlama var. Eğer field1 = 1'in olduğu bir satır varsa, her şey yolunda gidiyor, Django bir "get" yapıyor.
Eğer field1 = 1'in olduğu bir satır yoksa, Django'nun o satırı iyi oluşturduğu anlaşılıyor. Ama neden kurtarmama izin vermiyor?
Güncelleme:
class MyModel(models.Model):
id = models.BigIntegerField(primary_key=True)
field1 = models.BigIntegerField(unique=True)
other_field = models.CharField(max_length=765)
class Meta:
db_table = u'project_crosses_suppl_FO'
field1 başka bir tabloya yabancı anahtardır: Eğer yardımı olacaksa
, burada MyModel olduğunu. Ama bu tablo için Django'da bir model yapmadım, bu yüzden Django'ya yabancı bir anahtar olduğunu söylemem.
mu MyModel yabancı alanı vardır: Arka arkaya dolayısıyla bu sizin için çalışmalı, bir nesne ile başlık olur? MyModel'in kodunu gönderir misin? –
[Benzer soru] (http://stackoverflow.com/questions/6974463/django-get-or-create-raises-duplicate-entry-with-together-unique) size yardımcı olabilir. – agf
@agf. Çözümde sorunun ne olduğunu veya sorunun nasıl doğrulandığını anlamıyorum. Bana bir böcek gibi geliyor. Ben get_or_create üzerinde pes edeceğim ve etrafında bir iş yapalım düşünüyorum :-( – Greg