python - variable - safe django template



Django: get_or_create Augmente l'entrée en double avec together_unique (1)

exemple de modèle

class Example(Stat):
    numeric = models.IntegerField(...) 
    date = models.DateField( auto_now_add=True,...) #auto_now_add=True was the problem

    class Meta:
       unique_together = ('numeric','date')

)

Si 72 et «2011-08-07» sont déjà stockés

Example.object.get_or_create(numeric=72,date='2011-08-07')

soulève

django.db.utils.IntegrityError: (1062, "Duplicate entry '72-2011-08-07'

La question est de savoir pourquoi get_or_create lève IntegrityError , c'est-à-dire l'idée d'utiliser get_or_create .

Pas sûr que ce soit un bug, j'ai ouvert un ticket https://code.djangoproject.com/ticket/16587

https://code.i-harness.com


Il semble que votre problème soit get_or_create au fait que vous get_or_create pas plus de colonnes dans votre get_or_create . get_or_create ce fil sur une liste de diffusion Django.

Vous devez utiliser le paramètre defaults de get_or_create comme décrit dans la docs , ou spécifier des valeurs pour toutes les colonnes, afin que get_or_create corresponde correctement.





django-models