2010-03-08 3 views
2

le docs dit:sur le signal post_save et l'argument créé

post_save 
django.db.models.signals.post_save 

created 
A boolean; True if a -new- record was create. 

et j'ai ceci:

from django.db.models.signals import post_save 
def handle_new_user(sender, instance, created, **kwargs): 
    print "--------> save() "+str(created) 
post_save.connect(handle_new_user, sender=User) 

quand je fais dans la coquille:

u = User(username="cat") 
u.save() 
>>> --------> save() True 
u.username = "dog" 
u.save() 
>>> --------> save() True 

J'attends >>> --------> save() False quand je sauvegarde() la deuxième fois parce que c'est une mise à jour? ne pas?

+0

Quelle version de Django utilisez-vous? Quand j'utilise exactement le même code sur 1.1, ça marche parfaitement bien. – Adam

+0

Im en utilisant 1.1: S – panchicore

Répondre

0

On dirait que vous avez implémenté votre propre utilisateur qui n'a pas de contrainte unique sur le nom d'utilisateur?

+0

Im implémentation "à partir de django.contrib.auth.models importer Utilisateur" – panchicore

0

Je suggère que vous utilisez User.objects.create_user pour éviter le fonctionnement en vrac.

Questions connexes