summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/serializers/tests.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/serializers/tests.py b/tests/serializers/tests.py
index 48899cb3fb..3cc937d58d 100644
--- a/tests/serializers/tests.py
+++ b/tests/serializers/tests.py
@@ -410,6 +410,33 @@ class SerializersTestBase:
self.assertEqual(self._get_field_values(child_data, "parent_m2m"), [])
self.assertEqual(self._get_field_values(child_data, "parent_data"), [])
+ def test_serialize_only_pk(self):
+ with self.assertNumQueries(5) as ctx:
+ serializers.serialize(
+ self.serializer_name,
+ Article.objects.all(),
+ use_natural_foreign_keys=False,
+ )
+
+ categories_sql = ctx[1]["sql"]
+ self.assertNotIn(connection.ops.quote_name("meta_data_id"), categories_sql)
+ meta_data_sql = ctx[2]["sql"]
+ self.assertNotIn(connection.ops.quote_name("kind"), meta_data_sql)
+
+ def test_serialize_no_only_pk_with_natural_keys(self):
+ with self.assertNumQueries(5) as ctx:
+ serializers.serialize(
+ self.serializer_name,
+ Article.objects.all(),
+ use_natural_foreign_keys=True,
+ )
+
+ categories_sql = ctx[1]["sql"]
+ self.assertNotIn(connection.ops.quote_name("meta_data_id"), categories_sql)
+ # CategoryMetaData has natural_key().
+ meta_data_sql = ctx[2]["sql"]
+ self.assertIn(connection.ops.quote_name("kind"), meta_data_sql)
+
class SerializerAPITests(SimpleTestCase):
def test_stream_class(self):