我正在尝试构建一个邀请人们加入团队的系统,所以我有团队和邀请模型。我正在尝试查询没有团队且不在该团队的邀请表中的用户。到目前为止,我可以过滤没有团队的用户,但是我不知道如何从该团队中排除已有邀请的用户。
{"NFL": {},
"AFL": {
"teams": [
{
"name": "New England Patriots",
"area": "Foxborough",
"position": [
{
"name": "QB",
"player": [
{
"name": "Tom Brady",
"rings": "6"
}
]
},
{
"name": "TE",
"player": [
{
"name": "Rob Gronkowski",
"rings": "3"
}
]
}
]
}
]
}}
from django.contrib.postgres.search import SearchVector
sv = SearchVector('first_name', 'last_name', 'email')
team = parsed_body['team_id']
query = parsed_body['query']
users = User.objects.annotate(search=sv).filter(search=query, profile__team=None)
from django.db import models
class Team(models.Model):
name = models.CharField(max_length=32, blank=False, default=None)
description = models.TextField(max_length=512, blank=False, default=None)
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
答案 0 :(得分:1)
User.objects.filter(profile__team=None).exclude(invitation_set__team=your_team_to_exclude)
答案 1 :(得分:1)
尝试一下
User.objects.exclude(invitation__team=1)
1
是您要指定的 PK/ID
实例的 Team
< / p>