31
31
def __unicode__(self):
34
class ResolveThis(models.Model):
35
num = models.FloatField()
36
name = models.CharField(max_length=16)
34
38
__test__ = {"regression_tests": """
35
39
Deferred fields should really be deferred and not accidentally use the field's
36
40
default value just because they aren't passed to __init__.
115
119
>>> results[0].second_child.name
118
# Finally, we need to flush the app cache for the defer module.
119
# Using only/defer creates some artifical entries in the app cache
120
# that messes up later tests. Purge all entries, just to be sure.
121
>>> from django.db.models.loading import cache
122
>>> cache.app_models['defer_regress'] = {}
122
# Test for #12163 - Pickling error saving session with unsaved model instances.
123
>>> from django.contrib.sessions.backends.db import SessionStore
124
>>> SESSION_KEY = '2b1189a188b44ad18c35e1baac6ceead'
128
>>> s = SessionStore(SESSION_KEY)
132
>>> s = SessionStore(SESSION_KEY)
133
>>> s.modified = True
136
>>> i2._deferred # Item must still be non-deferred
139
# Regression for #11936 - loading.get_models should not return deferred models by default.
140
>>> from django.db.models.loading import get_models
141
>>> sorted(get_models(models.get_app('defer_regress')), key=lambda obj: obj._meta.object_name)
142
[<class 'regressiontests.defer_regress.models.Child'>, <class 'regressiontests.defer_regress.models.Item'>, <class 'regressiontests.defer_regress.models.Leaf'>, <class 'regressiontests.defer_regress.models.RelatedItem'>, <class 'regressiontests.defer_regress.models.ResolveThis'>]
144
>>> sorted(get_models(models.get_app('defer_regress'), include_deferred=True), key=lambda obj: obj._meta.object_name)
145
[<class 'regressiontests.defer_regress.models.Child'>, <class 'regressiontests.defer_regress.models.Child_Deferred_value'>, <class 'regressiontests.defer_regress.models.Item'>, <class 'regressiontests.defer_regress.models.Item_Deferred_name'>, <class 'regressiontests.defer_regress.models.Item_Deferred_name_other_value_text'>, <class 'regressiontests.defer_regress.models.Item_Deferred_name_other_value_value'>, <class 'regressiontests.defer_regress.models.Item_Deferred_other_value_text_value'>, <class 'regressiontests.defer_regress.models.Item_Deferred_text_value'>, <class 'regressiontests.defer_regress.models.Leaf'>, <class 'regressiontests.defer_regress.models.Leaf_Deferred_child_id_second_child_id_value'>, <class 'regressiontests.defer_regress.models.Leaf_Deferred_name_value'>, <class 'regressiontests.defer_regress.models.Leaf_Deferred_second_child_value'>, <class 'regressiontests.defer_regress.models.Leaf_Deferred_value'>, <class 'regressiontests.defer_regress.models.RelatedItem'>, <class 'regressiontests.defer_regress.models.RelatedItem_Deferred_'>, <class 'regressiontests.defer_regress.models.RelatedItem_Deferred_item_id'>, <class 'regressiontests.defer_regress.models.ResolveThis'>, <class 'regressiontests.defer_regress.models.ResolveThis_Deferred_num'>]