﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
35154	QuerySet implements `contains` but not `__contains__`	fidoriel	nobody	"This is a similar proposal to https://code.djangoproject.com/ticket/31561, but it is not the same. Currently using 
{{{
x in myQuerySet
}}}
results in python using the fallback solution: https://docs.python.org/3/reference/expressions.html#membership-test-details
Because https://groups.google.com/g/django-developers/c/NZaMq9BALrs/m/OCNTh6QyCAAJ deiced to implement contains in https://code.djangoproject.com/ticket/24141
I think it is only consistent to have the same behavior implemented in __contains__. I would expect that, it is also a more efficient implementation and unifies django behavior. Nevertheless, documentation is needed why this inconsistency exists. I was not able to find a reason. Because the mailing list agreed on adding contains, this is discussed behavior. Why was __contains__ not added in the first place? To not have breaking changes? I cannot see what would break.

As said in https://code.djangoproject.com/ticket/31561 a queryset could be a collection to make typing easier. But this is not the intention of this issue. 

"	Uncategorized	new	Database layer (models, ORM)	5.0	Normal		queryset contains		Unreviewed	0	0	0	0	0	0
