Мисля, че може да съм изпаднал в същия проблем. Моята заявка прави множество присъединявания, след което необработеният резултат може да върне няколко реда от един и същ първичен ключ, всеки ред се брои от .count(), но когато извикате .all(), към първичния ключ се прилага различен и само уникален редове се извличат, отколкото броят на записите в списъка .all() е различен от .count().
Това трябва да е равно:
query.distinct().count() == query.all()
Най-добри пожелания