22d7834ae9
MultiCriterion.to_q (used by SessionFilter for game/device) unconditionally added field__in=value even when value was empty, and __in=[] matches no rows — so a filter with only excludes (e.g. device excludes 11, no game/device includes) returned zero results. Guard the empty value like ChoiceCriterion already does, so an exclude-only criterion means 'all rows except the excluded ids'. https://claude.ai/code/session_01XzhXvMvw42CQGc9kmin3GS