class UserInfo(AbstractUser):
'''
用户信息表
'''
mobile = models.CharField(max_length=11, verbose_name='手机号')
# 工号 / int
operator_id = models.CharField(null=True, verbose_name='工号', max_length=20)
# 所属组 / 外键 - 组
user_group = models.ForeignKey('GroupInfo', related_name='group_member', to_field='group_id',
on_delete=models.CASCADE, null=False)
class GroupInfo(models.Model):
'''
小组信息
'''
GROUP_CATEGORY_CHOICES = (
('new_staff', '新员工班组'),
('old_staff', '非新员工班组'),
('other', '其他')
)
group_id = models.IntegerField(verbose_name='组id', null=False, unique=True)
group_name = models.CharField(verbose_name='组名', max_length=30)
django.db.utils.IntegrityError: (1048, "Column 'user_group_id' cannot be null")
createsuperuser 命令创建用户时,只设置账号、密码、邮箱,没设置user_group。
你应该是在settings里配置了用户走UserInfo,而不是原有的User表。UserInfo表中,user_group 是非空字段,所以createsuperuser 执行肯定失败。
如果想创建super user,只能在admin页面手动创建。或者在执行完createsuperuser后,再migrate生成UserInfo。
报错的时候python会说"in file ... raise ...Error",你看看in file后面的文件名和报错的函数或者raise语句,然后找到这个文件,找一下叫user_group_id的变量或参数