django orm count 如何两个字段去重

有如下数据库

openIDproductIDsalesID
ABC199
CBA299
ABC299
ABC199
CBA199

我统计的是
salesID对应的不同的访问人员(openID)-产品(productID)对,具体意思是
如果一个openID访问同一个产品多次,则只算一次访问
但如果一个openID访问不同的产品,则算多次访问
就上面这个统计结果应该是
{
‘salesID’:99,
'visit_times':4
}

这个用django orm怎么实现?怎么写?我现在仅能写一个去重,例如仅openID去重,结果就是
{
‘salesID’:99,
'visit_times':2
}
要么就是仅产品去重
models.objects.values('salesID').distinct().annotate(visit_times=Count('openId',distinct=True))
要怎么改呢?谢谢

用Concat合并字段

from django.db.models.functions import Concat

models.objects.values('salesID').distinct().annotate(visit_times=Count(Concat('openId','productID'),distinct=True))