내가 할 수 있기를 원하는 것은이 의사 코드와 유사합니다. 파이썬에서이 작업을 수행하는 방법을 완전히 알지 못합니다 :쿼리 세트의 객체가 ManyToMany 관계에 있는지 확인
user_groups = request.user.participant_groups.all()
if group in user_groups not in self.object.settings.groups.all():
기본적으로 user_groups의 개체가 self.object.settings.groups.all()에 있는지 확인하고 싶습니다. 이 작업을 수행하는 간단한 방법이 있습니까?
모델 : 내가 할 노력하고있어
class Group(models.Model):
participants = models.ManyToManyField('auth.User', null=True, blank=True, related_name='participant_groups')
title = models.CharField(max_length=180)
date = models.DateTimeField(null=True, blank=True, editable=False)
modified = models.DateTimeField(null=True, blank=True, editable=False)
class Settings(models.Model):
user = models.ForeignKey('auth.User', related_name='settings_objects')
groups = models.ManyToManyField('groups.Group', null=True, blank=True)
participants = models.ManyToManyField('auth.User', null=True, blank=True, related_name='accessible_objects')
private = models.BooleanField(default=True)
사용자의 participant_groups (그룹 모델에 대한 사용자의 관계를 역)의이 설정에 있는지 확인입니다 그룹에게 manytomany 관계를 객체.
common_groups = user.participant_groups.annotate(
num_settings=Count('settings_objects')
).filter(num_settings__gt=0)
# You can get a count like this
count_of_above = common_groups.count()
내가 self.object.settings
있으리라 믿고있어 현재 사용자에 대한 Settings
의 인스턴스 -
manytomany 관계에 대한 Django 문서를 읽었습니까? –
@Bibhas 예, 있습니다. 나에게 구체적으로 도움이 될만한 게있어? –
생각하지 마십시오. 그것은 ManyToMany 관계 문서에서 그것과 함께'IN' 질의를하는 방법을 설명합니다. 'self.object.settings.groups.all()'은 무엇입니까? queryset? 사전? 목록? –