django - Django如何获取不在many2many领域的用户?
问题描述
'模型.py'
class StaffProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="user_profile")
staff_user = models.ManyToManyField(User, null=True, blank=True, related_name="staff_user")
mobile_number = models.CharField(max_length=14, validators=[RegexValidator(r'^\d{1,10}$')])
fcm_token = models.CharField(max_length=256, null=True, blank=True)
manager = models.BooleanField(default=False)
def __str__(self):
return self.user.username
'表格.py'
class ManagerSignUpForm(UserCreationForm):
first_name = forms.CharField(max_length=30, label='Name')
email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')
mobile_number = forms.CharField(max_length=14, min_length=10, )
staff_user = forms.ModelMultipleChoiceField(queryset=User.objects.filter(is_staff=False),required=True)
def __init__(self, *args, **kwargs):
all_user_list = User.objects.filter(is_superuser=False,is_staff=True)
all_staff_profile = StaffProfile.objects.get(staff_user__in=all_user_list)
super(ManagerSignUpForm, self).__init__(*args, **kwargs)
# self.fields['staff_user'] = forms.ModelChoiceField(queryset=after_exclude)
我想在整个 StaffProfile 模型的 staff_user(M2M) 字段中显示(附加)尚不存在的用户。
注意:我正在扩展用户模型
解决方案
使用isnull=True
过滤器
User.objects.filter(staff_user__isnull=True)
推荐阅读
- csv - 将元数据从 mp4 提取到 excel
- encryption - 管理服务器集群的 GPG 密钥
- javascript - 如何在 JavaScript 中使用来自 Django 的 {{key}}
- python - 使用单选按钮调用方法
- python - 在 python 中,我无法使用用户输入执行函数
- python-3.x - 在绘制 pandas 数据透视表标题和子标题时合并到 python/pandas
- javascript - 在 request.get 节点调用中获取布尔返回
- c - C 等效于 Python None 类型
- r - R中简单列汇总函数的代码审查
- java - 如何在firestore中获取集合的名称列表?