我有一个使用我定义的用户类运行良好的应用程序。在为此工作了几个星期后,我意识到我需要用户身份验证,并决定使用 django 的 User 类(当我开始时我并不真正理解它是如何工作的,因为我对 Django 很陌生)。我摆脱了与自定义 User 类的 ForeignKey 关系,并添加了 ForeignKey 关系django.contrib.auth.models.User
,但是现在当我使用管理页面添加新对象时,我得到:
Exception Type: IntegrityError at /admin/po/purchaseorder/add/
Exception Value: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`po`.`po_purchaseorder`, CONSTRAINT `django_user_id_refs_id_fe5f38af` FOREIGN KEY (`django_user_id`) REFERENCES `auth_user` (`id`))')
我真的不明白这个错误。这是相关的类代码:
from django.contrib.auth.models import User
class PurchaseOrder(models.Model):
user=models.ForeignKey(User)
request_number = models.AutoField(primary_key=True)
#More fields
谁能给我任何关于这个错误的解释,以及为什么我现在使用的是内置的用户而不是我自己的类?