- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试通过内置的 django 管理添加新用户,但我一直收到此错误。即使尝试通过终端创建 super 用户也会出现同样的错误。与用户无关的所有其他模型都可以正常工作。我的 models.py 文件中的代码如下。
from django.db import models
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.dispatch import receiver
from django.core.exceptions import ObjectDoesNotExist
from general.models import Ward
# Create your models here.
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
firstname = models.CharField(max_length=20)
middlename = models.CharField(max_length=20)
lastname = models.CharField(max_length=20)
loc_id = models.CharField(max_length=8, unique=True)
ward = models.ForeignKey(Ward, related_name="wards", null=True, on_delete=models.SET_NULL)
phone = models.CharField(max_length=10, unique=True)
address = models.CharField(max_length=255)
postal_code = models.CharField(max_length=15)
def __str__(self):
return "{} {}".format(self.user.first_name, self.user.last_name)
class Meta:
verbose_name_plural = "Personal information"
@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
try:
instance.profile.save()
except ObjectDoesNotExist:
Profile.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
try:
instance.profile.save()
except ObjectDoesNotExist:
Profile.objects.create(user=instance)
错误回溯:
Environment:
Request Method: POST
Request URL: http://localhost:8000/admin/auth/user/add/
Django Version: 2.1.1
Python Version: 3.6.0
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'general',
'user_details']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "C:\xampp\htdocs\python\projects\tanariver\user_details\models.py" in create_user_profile
30. instance.profile.save()
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\fields\related_descriptors.py" in __get__
414. self.related.get_accessor_name()
During handling of the above exception (User has no profile.), another exception occurred:
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\utils.py" in _execute
85. return self.cursor.execute(sql, params)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
296. return Database.Cursor.execute(self, query, params)
The above exception (UNIQUE constraint failed: user_details_profile.phone) was the direct cause of the following exception:
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\core\handlers\exception.py" in inner
34. response = get_response(request)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\core\handlers\base.py" in _get_response
126. response = self.process_exception_by_middleware(e, request)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\core\handlers\base.py" in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\admin\options.py" in wrapper
604. return self.admin_site.admin_view(view)(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\utils\decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func
44. response = view_func(request, *args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\admin\sites.py" in inner
223. return view(request, *args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\utils\decorators.py" in _wrapper
45. return bound_method(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\views\decorators\debug.py" in sensitive_post_parameters_wrapper
76. return view(request, *args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\utils\decorators.py" in _wrapper
45. return bound_method(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\utils\decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\auth\admin.py" in add_view
98. return self._add_view(request, form_url, extra_context)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\auth\admin.py" in _add_view
125. return super().add_view(request, form_url, extra_context)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\admin\options.py" in add_view
1636. return self.changeform_view(request, None, form_url, extra_context)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\utils\decorators.py" in _wrapper
45. return bound_method(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\utils\decorators.py" in _wrapped_view
142. response = view_func(request, *args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\admin\options.py" in changeform_view
1525. return self._changeform_view(request, object_id, form_url, extra_context)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\admin\options.py" in _changeform_view
1564. self.save_model(request, new_object, form, not add)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\admin\options.py" in save_model
1091. obj.save()
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\contrib\auth\base_user.py" in save
73. super().save(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\base.py" in save
718. force_update=force_update, update_fields=update_fields)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\base.py" in save_base
758. update_fields=update_fields, raw=raw, using=using,
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\dispatch\dispatcher.py" in send
175. for receiver in self._live_receivers(sender)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\dispatch\dispatcher.py" in <listcomp>
175. for receiver in self._live_receivers(sender)
File "C:\xampp\htdocs\python\projects\tanariver\user_details\models.py" in create_user_profile
32. Profile.objects.create(user=instance)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\manager.py" in manager_method
82. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\query.py" in create
413. obj.save(force_insert=True, using=self.db)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\base.py" in save
718. force_update=force_update, update_fields=update_fields)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\base.py" in save_base
748. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\base.py" in _save_table
831. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\base.py" in _do_insert
869. using=using, raw=raw)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\manager.py" in manager_method
82. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\query.py" in _insert
1136. return query.get_compiler(using=using).execute_sql(return_id)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
1289. cursor.execute(sql, params)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\utils.py" in execute
100. return super().execute(sql, params)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\utils.py" in execute
68. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\utils.py" in _execute_with_wrappers
77. return executor(sql, params, many, context)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\utils.py" in _execute
85. return self.cursor.execute(sql, params)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\utils.py" in __exit__
89. raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\utils.py" in _execute
85. return self.cursor.execute(sql, params)
File "C:\xampp\htdocs\python\envs\tanariver\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
296. return Database.Cursor.execute(self, query, params)
Exception Type: IntegrityError at /admin/auth/user/add/
Exception Value: UNIQUE constraint failed: user_details_profile.phone
我错过了什么?
最佳答案
看起来您遇到的错误与您声明为 unique=True
的电话号码字段有关。您是否正在尝试添加用户并为该用户提供与数据库中已有用户相同的电话号码?
关于python - Django 'IntegrityError at/admin/auth/user/add/UNIQUE constraint failed: user_details_profile.phone'错误如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52247143/
主要问题是可以从已保存的 Auth 对象设置零 Auth 对象: let oldAuth = Auth.auth().currentUser let oldAuthId = Auth.auth().c
何时使用 this.afAuth.auth.signInWithCredential 在我的 Ionic 应用程序中一切正常。我可以使用 Google 身份验证登录并将用户个人资料推送到 fireba
我想在启动时使用我的测试用户帐户预加载 firebase auth 模拟器,就像我对 Firestore 模拟器及其导入/导出选项所做的一样。我尝试在模拟器运行时使用 auth:import 和 au
我正在尝试通过创建 Firebase DataService 来 DRY 我的应用程序,但我不知道为 Auth.auth() 转换什么类型。我查看了源代码定义,但它在我不理解的 Objective C
我有一个更新用户个人资料图片的组件:。我有第二个组件检测用户状态的变化:。问题是,在执行updateProfile()之后,没有触发auth.onAuthStateChanged()。因此,我得到了老
我正在使用 Facebook Javascript SDK,并且正在调整我网站的用户登录系统。我想知道 auth.login/auth.logout 和 auth.sessionChange 之间有什
目前,我正在完成Daniel Kehoe的Learn Ruby on Rails教程。练习之一是使用Google的Gmail帐户从“联系人”页面发送联系人表格。 但是,当我发送联系表格时,没有在邮箱中
我在我的应用中使用 Firebase Auth。我更新电子邮件如下: firebaseAuth.currentUser?.updateEmail(email) 电子邮件正在 100% 更新(必要时我也
在我的应用程序中,当我第一次让用户加入时,我会让他们登录并确认这有效,并且他们会获得一个用户 ID。但稍后在我的 Storyboard 中,我调用了 Auth.auth.currentUser.uid
我是编程新手,我正在尝试从 firebase 数据库中读取数据。我从 Firebase 手册中得到这段代码,我想知道术语 uid,AUTH.auth() 在这里是什么意思。它是一个变量吗?我从 fir
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
背景 我构建了一个连接到 Authorize.net 支付网关的电子商务应用程序。管理员可以通过以下方式处理信用卡: 管理员立即从客户的信用卡中扣款的“捕获”交易。 “仅授权”交易,管理员从信用卡中授
我正在使用 dj-rest-auth ( https://dj-rest-auth.readthedocs.io/en/latest/ ) 并尝试实现自定义注册表单。当我尝试注册新用户时,我有基本表单
我们正在使用 Azure Web App Easy Auth,并使用 Web App 作为反向代理,将流量转发到 Angular 应用程序。 角度应用程序使用/.auth/me 并使用 token 并
我有一个 Controller 和一个如下所示的 View ,它在一段时间内工作完美,但是在向服务器发出一些请求后(即每秒重新加载一次),它将在此行失败 if (!$this->tank_auth-
我希望在单个 Web 应用程序中,部分部分使用身份验证,部分部分完全开放(或者更具体地说,不使用基于容器的身份验证)。 使用基于容器的身份验证的应用程序部分位于 URL /而打开的部分位于 URL /
只要我按下按钮调用 signOut 方法,当前 View Controller 就会被关闭。但是,注销过程是成功的。 (我正在使用 FirebaseAuth SDK。) 这是我的代码: @IBActi
对于Firebase iOS,如果我想做用户认证,这3个选择有什么区别吗? FirebaseUI FirebaseUI/授权 Firebase/授权 如果有人可以解释使用“预构建”FirebaseUI
我正在使用 Vue-auth 包来验证我的 vue-cli 应用程序。一切正常,但当我在我的 vue 操作中访问此代码时,它返回 undefined。有什么想法吗? const AuthService
所以我正在使用 Laravel 身份验证,第一次它工作正常,但删除 Auth 文件夹后,我再次运行 php artisan make:auth 但它不会创建另一个 Auth 文件夹。 View 和模型
我是一名优秀的程序员,十分优秀!