Python 如何修复多注释和给出错误答案

Python 如何修复多注释和给出错误答案,python,django,django-models,django-orm,Python,Django,Django Models,Django Orm,我想对该组中的观察计数和观察计数进行注释 型号:- class Observation(TimeStampedEnumeratedUUIDModel): rubric = models.ForeignKey('rubrics.Rubric', related_name='observations') gro`enter code here`up = models.ForeignKey( 'access.Group', related_name='group_observations')

我想对该组中的观察计数和观察计数进行注释

型号:-

class Observation(TimeStampedEnumeratedUUIDModel):
rubric = models.ForeignKey('rubrics.Rubric', related_name='observations')
gro`enter code here`up = models.ForeignKey(
    'access.Group', related_name='group_observations')
observer = models.ForeignKey(
    'access.UserRoleAccount', related_name='user_observations_taken')
observee = models.ForeignKey(
    'access.UserRoleAccount', related_name='user_observations_given')
is_published = models.BooleanField(default=False)

class UserRoleAccount(TimeStampedUUIDModel):
user = models.OneToOneField(User, related_name="user_role_account")
role = models.ForeignKey(Role, related_name="user_role_account")
account = models.ForeignKey(Account, related_name="user_role_account")


我找到了一个适合我的解决办法

ura=UserRoleAccount.objects.filter(pk='24f4a032-3f83-4123-8330-fa60fcbb880c')。
注释(taked_count=count(Case(当(用户观察到的情况下给出的情况下给出的情况下给出的情况下给出的情况下给出的情况下给出的情况下给出的情况下得出的结果)时),distinct=True)。
注释(给定的计数=计数(大小写(当(用户观察到的数据组=grp,然后是用户观察到的数据组=grp),distinct=True))

UserRoleAccount.objects.filter(pk='24f4a032-3f83-4123-8330fa60fcbb880c').annotate(count=Sum(Case(When(user_observations_taken__group=grp,then=1)),default=0,output_field=IntegerField(),distinct=True)).annotate(count1=Sum(Case(When(user_observations_given__group=grp,then=1)),default=0,output_field=IntegerField(),distinct=True))