自定义用户模型中没有电子邮件字段的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 (将#修改为@)