File tree Expand file tree Collapse file tree 2 files changed +9
-1
lines changed
tests/regressiontests/defer_regress Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change 55large and/or so that they can be used by other modules without getting into
66circular import difficulties.
77"""
8+ from __future__ import unicode_literals
89
910from django .db .backends import util
1011from django .utils import tree
@@ -177,7 +178,7 @@ class Meta:
177178 overrides ["Meta" ] = Meta
178179 overrides ["__module__" ] = model .__module__
179180 overrides ["_deferred" ] = True
180- return type (name , (model ,), overrides )
181+ return type (str ( name ) , (model ,), overrides )
181182
182183# The above function is also used to unpickle model instances with deferred
183184# fields.
Original file line number Diff line number Diff line change @@ -174,3 +174,10 @@ def test_resolve_columns(self):
174174 qs = ResolveThis .objects .defer ('num' )
175175 self .assertEqual (1 , qs .count ())
176176 self .assertEqual ('Foobar' , qs [0 ].name )
177+
178+ def test_deferred_class_factory (self ):
179+ from django .db .models .query_utils import deferred_class_factory
180+ new_class = deferred_class_factory (Item ,
181+ ('this_is_some_very_long_attribute_name_so_modelname_truncation_is_triggered' ,))
182+ self .assertEqual (new_class .__name__ ,
183+ 'Item_Deferred_this_is_some_very_long_attribute_nac34b1f495507dad6b02e2cb235c875e' )
You can’t perform that action at this time.
0 commit comments