Fixed #982 -- Added '__ne__' support for Django models, which apparently wasn't working on Python 2.3 (?)
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1547 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
65c1a9f1c9
commit
3cd7755ec6
|
@ -729,6 +729,7 @@ class ModelBase(type):
|
||||||
# Create the default class methods.
|
# Create the default class methods.
|
||||||
attrs['__init__'] = curry(method_init, opts)
|
attrs['__init__'] = curry(method_init, opts)
|
||||||
attrs['__eq__'] = curry(method_eq, opts)
|
attrs['__eq__'] = curry(method_eq, opts)
|
||||||
|
attrs['__ne__'] = curry(method_ne, opts)
|
||||||
attrs['save'] = curry(method_save, opts)
|
attrs['save'] = curry(method_save, opts)
|
||||||
attrs['save'].alters_data = True
|
attrs['save'].alters_data = True
|
||||||
attrs['delete'] = curry(method_delete, opts)
|
attrs['delete'] = curry(method_delete, opts)
|
||||||
|
@ -978,6 +979,9 @@ def method_init(opts, self, *args, **kwargs):
|
||||||
def method_eq(opts, self, other):
|
def method_eq(opts, self, other):
|
||||||
return isinstance(other, self.__class__) and getattr(self, opts.pk.attname) == getattr(other, opts.pk.attname)
|
return isinstance(other, self.__class__) and getattr(self, opts.pk.attname) == getattr(other, opts.pk.attname)
|
||||||
|
|
||||||
|
def method_ne(opts, self, other):
|
||||||
|
return not method_eq(opts, self, other)
|
||||||
|
|
||||||
def method_save(opts, self):
|
def method_save(opts, self):
|
||||||
# Run any pre-save hooks.
|
# Run any pre-save hooks.
|
||||||
if hasattr(self, '_pre_save'):
|
if hasattr(self, '_pre_save'):
|
||||||
|
|
Loading…
Reference in New Issue