Given a field "field-participants" on a node type "discussion" that references an unlimited number of users:
How can I produce a view that shows all discussions that do NOT have the current user listed in their field_participants?
The problem comes from the fact that views creates a separate row of results for each reference in field_participants in any given discussion.
I can use 'Distinct' or Aggregation to get rid of duplicate rows, but while this would work to include results (showing discussions that listed the current user as a participant) it doesn't work to exclude results.
This is because a contextual filter on the current user with "excludes" checked only excludes the one of these rows that matches the current user. It doesn't exclude all the rows from that discussion. Therefore I get false positives: the view shows all discussions that have someone other than the current user listed as a participant.
Right now I'm thinking that I either need to figure out some arcane HAVING clause and add it to the query programmatically, or try to use the pre-alpha Flag module (setting a per-user flag and filtering by that instead of field_participants).