我正在使用自定義用戶模型(遵循本教程)并且一切正常。當我使用我在 /admin 會話中使用 createsuperuser 創建的管理員用戶登錄時,我可以添加/刪除/編輯任何我想要的東西。當我使用其他用戶登錄時,我已授予員工和管理員權限,每當我想向數據庫添加一些內容時,我都會收到此錯誤:IntegrityError at /admin/users/user/13/change/ (or whichever action I'm doing)
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`NMS_database`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))')
[...]Exception Location: /home/me/python_ve/lib/python3.8/site-packages/MySQLdb/connections.py in query, line 239這是我的用戶模型:class User(AbstractBaseUser): email = models.EmailField(verbose_name="email", unique=True, max_length=255) first_name = models.CharField(max_length=30, blank=True, null=True) surname = models.CharField(max_length=30, blank=True, null=True) additional = models.BooleanField(default=False) individual = models.BooleanField(default=True) active = models.BooleanField(default=True) #can they login? staff = models.BooleanField(default=False) #staff user non superuser admin = models.BooleanField(default=False) #superuser date_joined = models.DateTimeField(auto_now_add=True) USERNAME_FIELD = 'email' # default identifier for that user which will used for logging in #email (USERNAME_FIELD in this case) and password are required by default REQUIRED_FIELDS = ['first_name', 'surname'] def __str__(self): return "%s %s" % (self.first_name, self.surname) def get_full_name(self): return self.first_name def has_perm(self, perm, obj=None): return self.admin def has_module_perms(self, app_label): return True @property def is_staff(self): return self.staff @property def is_admin(self): return self.admin# hook in the New Manager to our Model objects = UserManager()如何讓不是超級管理員的用戶真正能夠在 /admin 中執行操作?
添加回答
舉報
0/150
提交
取消