微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自定义用户模型中没有电子邮件字段的Django Graphql Auth

如何解决自定义用户模型中没有电子邮件字段的Django Graphql Auth

我正在尝试使用 graphql 来验证我的 Flutter 应用程序。 但是,我的自定义用户模型没有“电子邮件”字段,而是“用户名

我进行了必要的更改,但在下方不断出现错误

'Meta.fields' contains fields that are not defined on this FilterSet: email

如果我在 User 模型中添加一个电子邮件字段,它开始工作正常,但我想改用“用户名”字段。 请帮忙

#Custom User Model
class User(AbstractBaseUser,PermissionsMixin):
    username = models.CharField(_('username'),max_length=130,unique=True)
    full_name = models.CharField(_('full name'),blank=True)
    is_staff = models.BooleanField(_('is_staff'),default=False)
    is_active = models.BooleanField(_('is_active'),default=True)
    date_joined = models.DateField(_("date_joined"),default=date.today)
    phone_number_verified = models.BooleanField(default=False)
    change_pw = models.BooleanField(default=True)
    phone_number = models.BigIntegerField(unique=True,default=create_new_ref_number())
    country_code = models.IntegerField(default='91')
    two_factor_auth = models.BooleanField(default=False)    
    USER_TYPE_CHOICES = (
      (1,'student'),(2,'teacher'),(3,'unassigned'),(4,'teacherAdmin'),(5,'systemadmin'),)

    user_type = models.PositiveSmallIntegerField(choices=USER_TYPE_CHOICES,default=3)

    objects = UserManager()

    
    required_FIELDS = ['full_name','phone_number','country_code']
    USERNAME_FIELD = 'username'   # e.g: "username","email"
    EMAIL_FIELD = 'username'  

#settings.py
GRAPHQL_AUTH = {
    'LOGIN_ALLOWED_FIELDS': ['username'],'REGISTER_MUTATION_FIELDS':['username'],'REGISTER_MUTATION_FIELDS_OPTIONAL': ['phone_number',],'UPDATE_MUTATION_FIELDS': ['full_name','USERNAME_FIELD' : ['username'],}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。