Django2.1.3 authenticate 会关联数据库 is_active 的解决办法

# 会检测用户是否是活跃状态(is_active),不活跃则返回None(默认配置)
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']

在 settings.py 文件里加上下面的配置就行

# 不会检测用户的活跃状态
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']

 

自己在国外网站:

https://stackoverflow.com/questions/43184151/django-user-is-active

上看到的解决办法


 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Django中,`F()`函数用于表示数据库字段或表达式的值,可以在查询过程中进行比较或操作。通过使用`F()`函数,我们可以在查询中引用其他字段的值,以便进行动态的筛选或操作。 在你提供的代码中,`is_active=F("question_id__is_active")`表示将`is_active`字段的值设置为`question_id`字段所关联的对象的`is_active`字段的值。 假设你有一个模型`Question`,其中包含一个名为`question_id`的外键字段,关联到另一个模型`Questionnaire`。`Questionnaire`模型有一个名为`is_active`的布尔字段,表示问卷是否处于活动状态。 通过使用`F()`函数,你可以在查询中引用`Questionnaire`模型的`is_active`字段,并将其值赋给查询结果集中的`is_active`字段。这样,你可以根据关联对象的活动状态来筛选查询结果。 例如,以下代码演示了如何使用`F()`函数进行查询和筛选: ```python from django.db.models import F # 查询所有问题,并将is_active字段设置为关联问卷的活动状态 questions = Question.objects.annotate(is_active=F("question_id__is_active")) # 筛选出活动状态为True的问题 active_questions = questions.filter(is_active=True) ``` 在上面的示例中,我们使用`annotate()`方法将`is_active`字段添加到查询结果中,并通过`F()`函数引用了关联问卷的活动状态。然后,我们可以使用`filter()`方法筛选出活动状态为True的问题。 总之,`is_active=F("question_id__is_active")`表示将字段的值设置为关联对象的特定字段的值,并可以用于在查询过程中进行筛选或操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值