2014-05-07 43 views
0

我有一个奇怪的错误,我不明白。对于每一个用户,我需要创建Customer对象:Django超级用户没有正确创建

@receiver(post_save, sender = User) 
def after_user_is_created(sender, instance, created, **kwargs): 
    if not instance.is_superuser: 
     if created: 
     customer = Customer(email = instance.email, status = Status.objects.get(status = "registered"), user = instance) 
     customer.save() 

但随着当我做初始执行syncdb创建我所有的表,并创建超级用户它创建为is_superuser =假和is_staff = false该代码。

这是我的客户模型:

class Customer(models.Model): 
    name = models.CharField(max_length = 120, blank = True) 
    middlename = models.CharField(max_length = 120, blank = True) 
    surname = models.CharField(max_length = 120, blank = True) 
    email = models.EmailField(max_length = 254) 
    birthdate = models.DateField(blank = True, null = True) 
    status = models.ForeignKey(Status) 
    citizenships = models.ManyToManyField(Country, blank = True) 
    user = models.ForeignKey(User, blank = True, null = True) 

我不明白什么是错我的代码?

+0

为什么两个电子邮件ids实际上用户表有一个emailid –

+0

你删除了所有表和syncdb –

+0

@SundarNataraj我需要第二封电子邮件,因为这个客户表可以单独使用。是的,我删除了数据库,重新创建它,然后运行syncdb。 – NST

回答

0

好吧,从1.5切换到django 1.6.4版本后,我的原代码开始工作。虽然我确定我以前有1.6版本。我如何切换到旧版本,当我不知道...

相关问题