Guarantee there's places where you can't fix the potential extra queries from being triggered. Probably in 3rd party apps, mostly. Or false-like positives where doing an extra query isn't the end of the world...
So wtf do I do in that scenario? For first-party code I could probably force an attribute onto the querysets/instances that get cloned:
x = MyModel.objects.all()
x._shouty_disabled = True
x.first().myrelation.pk
or something.
But 3rd party code would still be ruined...
Guarantee there's places where you can't fix the potential extra queries from being triggered. Probably in 3rd party apps, mostly. Or false-like positives where doing an extra query isn't the end of the world...
So wtf do I do in that scenario? For first-party code I could probably force an attribute onto the querysets/instances that get cloned:
or something. But 3rd party code would still be ruined...