diff options
| author | Anssi Kääriäinen <akaariai@gmail.com> | 2013-01-19 14:09:46 +0200 |
|---|---|---|
| committer | Anssi Kääriäinen <akaariai@gmail.com> | 2013-03-17 15:32:50 +0200 |
| commit | f403653cf146384946e5c879ad2a351768ebc226 (patch) | |
| tree | cd18cadd9720eb375b65f1b6f8284c0dbe16903b /django/db/models/sql/where.py | |
| parent | 3beabb5afd8df56af48461bc0f6011f2d96aa088 (diff) | |
Fixed #19635 -- Made fields pickleable
Diffstat (limited to 'django/db/models/sql/where.py')
| -rw-r--r-- | django/db/models/sql/where.py | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/django/db/models/sql/where.py b/django/db/models/sql/where.py index ced5325754..754e33292d 100644 --- a/django/db/models/sql/where.py +++ b/django/db/models/sql/where.py @@ -345,30 +345,6 @@ class Constraint(object): def __init__(self, alias, col, field): self.alias, self.col, self.field = alias, col, field - def __getstate__(self): - """Save the state of the Constraint for pickling. - - Fields aren't necessarily pickleable, because they can have - callable default values. So, instead of pickling the field - store a reference so we can restore it manually - """ - obj_dict = self.__dict__.copy() - if self.field: - obj_dict['model'] = self.field.model - obj_dict['field_name'] = self.field.name - del obj_dict['field'] - return obj_dict - - def __setstate__(self, data): - """Restore the constraint """ - model = data.pop('model', None) - field_name = data.pop('field_name', None) - self.__dict__.update(data) - if model is not None: - self.field = model._meta.get_field(field_name) - else: - self.field = None - def prepare(self, lookup_type, value): if self.field: return self.field.get_prep_lookup(lookup_type, value) |
