用戶配置文件類看起來是這樣的:修改用戶的個人資料,同時增加新的用戶將失敗,並「重複輸入錯誤」
class UserProfile(models.Model):
user = models.OneToOneField(User)
email_my_machines = models.BooleanField(default=True)
email_others_machines = models.BooleanField(default=True)
class Meta(object):
verbose_name_plural = "Profile"
def create_user_profile(sender, instance, created, **kwargs):
UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User)
新增"AUTH_PROFILE_MODULE = 'generic.UserProfile'"
settings.py中
其所有工作正常。
在Django Admin中,添加用戶有兩種形式。第一種形式具有最小的字段,如「用戶名」,「密碼」,「密碼確認」以及「用戶配置文件」類中提供的字段。 當我修改此表單中的「用戶配置文件」字段時,應用程序將崩潰,錯誤爲「(1062,」關鍵字'user_id'「)的重複條目'34'」。這是一個完整性錯誤。
我是Django的新手。你能幫我解決嗎?
你肯定你的'post_save'不火的形式有機會創建一個新的實例之前(從而使形式失敗)? – patrys
編號post_save不會被調用。我觀察到的其他事情是,在這次崩潰後,我可以看到用戶在auth_user表中創建。 – rajpy
確保您知道哪部分代碼會導致引發異常。 – patrys