我有两种型号的Community和UserCommunity
社区模型
class Community(models.Model):
# Community name
name = models.CharField(max_length=64)
slug = models.CharField(max_length=40, blank=True)
admins = models.ManyToManyField(
settings.AUTH_USER_MODEL, related_name="admins", blank=True
)
admins = models.ManyToManyField(
settings.AUTH_USER_MODEL, related_name="admins", blank=True
)
members = models.ManyToManyField(
settings.AUTH_USER_MODEL,
related_name="members",
blank=True,
)
------UserCommunityModel
class UserCommunity(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=CASCADE, related_name="user"
)
group = models.ForeignKey(
Community, on_delete=CASCADE, related_name="group")
role = models.CharField(max_length=15, blank=True, null=True)
# True is in community, false is not in community
active = models.BooleanField(null=True, blank=True)我需要获得所有的社区对象,如果用户不是社区的一部分,社区至少应该有1名成员。
我试过用这个
Community.objects.filter(group__user=request.user.id, group__active=False,state=location.state, group_discoverability="public").exclude(
hofAdmins__isnull=True, admins__isnull=True, members__isnull=True)[:10]但这将返回具有UserCommunity对象的社区,在用户加入社区时创建UserCommunity对象。任何帮助都将不胜感激,谢谢!
发布于 2022-03-08 07:23:15
Community.objects.filter(~Q(members__in=[request.user.id]), ~Q(hofAdmins__in=[request.user.id]), ~Q(admins__in=[request.user.id]), state=location.state, group_discoverability="public").exclude( hofAdmins__isnull=True, admins__isnull=True, members__isnull=True)[:10]https://stackoverflow.com/questions/71379952
复制相似问题