擅长:python、mysql、java
<p>代码有一些问题。你知道吗</p>
<p>首先,你得到的错误是由于语法问题。另外,您将<code>User.objects.all()</code>视为普通列表,而不需要这样做。您可以直接使用<a href="https://docs.djangoproject.com/en/2.1/ref/models/querysets/" rel="nofollow noreferrer">queryset</a>,如以下代码所示:</p>
<pre><code> user_email = self.user.email.split('@')[1]
super(AuthUserCheckbox, self).__init__(*args, **kwargs)
self.fields['choice'].choices = [(i.id, i.email) for i in User.objects.filter(is_active=False, email__icontains=user_email)])
</code></pre>
<p>在这里,我直接查询电子邮件域是否存在于用户的电子邮件中,并检查用户是活动的还是节点的。你知道吗</p>
<p>第二,在视图中,您可以从窗体的<a href="https://docs.djangoproject.com/en/2.1/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other" rel="nofollow noreferrer">cleaned data</a>访问选项,如下所示:</p>
<pre><code>authorize_users = AuthUserCheckbox(data=request.POST, user=request.user)
if authorize_users.is_valid():
email_list = authorize_users.cleaned_data.get('choice')
User.objects.filter(pk__in=email_list).update(active=True)
</code></pre>