繁体   English   中英

django中/ accounts / signup /的IntegrityError

IntegrityError at /accounts/signup/ in django

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我刚刚在ubuntu 14.04服务器上使用apache部署了django网站。 正在访问该站点。 但是,当我以用户身份注册时,它会创建该用户,但无法创建与myuser一对一关系的用户个人资料。 另外,我正在使用自定义用户模型。 注册时引发的错误是:

Cannot add or update a child row: a foreign key constraint fails (`ilog_prod_db`.`myuserprofile_myuserprofile`, CONSTRAINT `myuserprofile_myuserp_myuser_id_6ad6f704425ed359_fk_auth_user_id` FOREIGN KEY (`myuser_id`) REFERENCES `auth_user` (`id`))

关键是,在我的开发机(windows7)上,该网站使用相同的代码可以正常运行。 另外,数据库的设置完全相同,即在两个地方我都使用InnoDB作为数据库的数据库引擎。

可能是什么问题。 任何指针将不胜感激。 谢谢。

追溯:

Environment:


Request Method: POST
Request URL: http://www.industrylogger.com/accounts/signup/

Django Version: 1.7.2
Python Version: 3.4.0
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'enterprise',
 'accounts',
 'nodes',
 'message',
 'myuserprofile',
 'enterprise_profile',
 'activities',
 'search',
 'imagekit')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/sp/webapps/ilog_dev/accounts/views.py" in signup
  24.                                          password=password,)
File "/home/sp/webapps/ilog_dev/accounts/models.py" in create_myuser
  93.         user.save(using=self._db)
File "/home/sp/webapps/ilog_dev/accounts/models.py" in save
  152.             super(MyUser, self).save(*args, **kwargs)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/base.py" in save
  589.                        force_update=force_update, update_fields=update_fields)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/base.py" in save_base
  626.                                    update_fields=update_fields, raw=raw, using=using)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/dispatch/dispatcher.py" in send
  198.             response = receiver(signal=self, sender=sender, **named)
File "/home/sp/webapps/ilog_dev/myuserprofile/models.py" in create_user_profile
  121.         MyUserProfile.objects.create(myuser=instance)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/manager.py" in manager_method
  92.                 return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/query.py" in create
  372.         obj.save(force_insert=True, using=self.db)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/base.py" in save
  589.                        force_update=force_update, update_fields=update_fields)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/base.py" in save_base
  617.             updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/base.py" in _save_table
  698.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/base.py" in _do_insert
  731.                                using=using, raw=raw)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/manager.py" in manager_method
  92.                 return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/query.py" in _insert
  921.         return query.get_compiler(using=using).execute_sql(return_id)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/models/sql/compiler.py" in execute_sql
  920.                 cursor.execute(sql, params)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/backends/utils.py" in execute
  81.             return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/db/backends/utils.py" in execute
  65.                 return self.cursor.execute(sql, params)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/mysql/connector/django/base.py" in execute
  135.         return self._execute_wrapper(self.cursor.execute, query, args)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/mysql/connector/django/base.py" in _execute_wrapper
  121.                         utils.IntegrityError(err.msg), sys.exc_info()[2])
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/django/utils/six.py" in reraise
  658.             raise value.with_traceback(tb)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/mysql/connector/django/base.py" in _execute_wrapper
  115.             return method(query, args)
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/mysql/connector/cursor.py" in execute
  507.                 self._handle_result(self._connection.cmd_query(stmt))
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/mysql/connector/connection.py" in cmd_query
  722.         result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
File "/home/sp/webapps/myenv/lib/python3.4/site-packages/mysql/connector/connection.py" in _handle_result
  640.             raise errors.get_exception(packet)

Exception Type: IntegrityError at /accounts/signup/
Exception Value: Cannot add or update a child row: a foreign key constraint fails (`ilog_prod_db`.`myuserprofile_myuserprofile`, CONSTRAINT `myuserprofile_myuserp_myuser_id_6ad6f704425ed359_fk_auth_user_id` FOREIGN KEY (`myuser_id`) REFERENCES `auth_user` (`id`))
1 个回复

从对问题的评论来看,您的Django模型和数据库架构似乎不同步。 如果可以的话,只需删除数据库并重新创建即可。 如果那里有重要数据...

首先备份您的生产数据库

根据您使用的Django版本,数据库同步的行为会有所不同。

Django <= 1.6

python manage.py syncdb命令可用于将任何缺少的架构信息添加到数据库中。 如果您的问题是由于您已向模型中添加了新表或字段,或者约束已被删除,那么这可能会解决方案。

它不会删除任何旧字段或迁移任何数据,因此以后很有可能需要进行一些手动编辑。

Django> = 1.7

1.7引入了新的python manage.py migrateDocs )命令,该命令更加智能。 随着模型的更改,将创建迁移。 当旧数据库需要与新模型内联时,迁移将应用于数据库。

这更加灵活,并允许根据需要升级/降级数据库版本。

缺点是您需要随身进行迁移(或在之后手动创建)。 请参阅文档以获取更多信息

在任何一种情况下,如果模型太不同步或您没有适当的迁移,您将需要做一些手动工作才能使数据进入django所需的状态。

2 django-allauth:自定义用户在/ accounts / signup /生成IntegrityError(自定义字段为空或丢失)

我正在尝试将django-allauth与自定义用户模型集成(子类化AbstractUser,但是当我测试注册表单时,由于字段(date_of_birth)为null,我得到完整性错误,但提交的值是u'1976-4- 6' 我正在学习新的自定义用户的东西,以及基于类的视图,因为我正在学习d ...

8 SMTPSenderRefused at /accounts/signup/

我尝试使用 gmail 服务器配置在注册时发送电子邮件,但出现以下错误: (530,需要 b'5.7.0 身份验证。了解更多信息:\\n5.7.0 https://support.google.com/mail/?p= WantAuthError u2sm3847520edr.70 - gsmtp' ...

9 Django 中的未知完整性错误

我有这个小项目通过Django和Latex创建我的账单,直到今天它都完美无缺。 现在,当我尝试添加另一个客户时, Django抛出 这些是有问题的模型定义: 创建对象的管理部分(我猜没什么特别的): 我发誓,我没有对数据库 (Postgres) 进行任何迁移或其他更改。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM