diff --git a/docs/changelog.rst b/docs/changelog.rst index def5cc34..d8bed7e6 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -6,6 +6,7 @@ Development =========== - (Fill this out as you fix issues and develop your features). - Fix .only() working improperly after using .count() of the same instance of QuerySet +- POTENTIAL BREAKING CHANGE: All result fields are now passed, including internal fields (_cls, _id) when using `QuerySet.as_pymongo` #1976 ================= Changes in 0.16.3 diff --git a/tests/queryset/queryset.py b/tests/queryset/queryset.py index faadfe0c..c183aa86 100644 --- a/tests/queryset/queryset.py +++ b/tests/queryset/queryset.py @@ -4709,19 +4709,22 @@ class QuerySetTest(unittest.TestCase): serialized_user = User.objects.exclude( 'password_salt', 'password_hash').as_pymongo()[0] - self.assertEqual(set(['_id', 'email']), set(serialized_user.keys())) + self.assertEqual({'_id', 'email'}, set(serialized_user.keys())) serialized_user = User.objects.exclude( 'id', 'password_salt', 'password_hash').to_json() self.assertEqual('[{"email": "ross@example.com"}]', serialized_user) + serialized_user = User.objects.only('email').as_pymongo()[0] + self.assertEqual({'_id', 'email'}, set(serialized_user.keys())) + serialized_user = User.objects.exclude( 'password_salt').only('email').as_pymongo()[0] - self.assertEqual(set(['_id', 'email']), set(serialized_user.keys())) + self.assertEqual({'_id', 'email'}, set(serialized_user.keys())) serialized_user = User.objects.exclude( 'password_salt', 'id').only('email').as_pymongo()[0] - self.assertEqual(set(['email']), set(serialized_user.keys())) + self.assertEqual({'email'}, set(serialized_user.keys())) serialized_user = User.objects.exclude( 'password_salt', 'id').only('email').to_json()