Fixed #9786 -- Fixed inequality checking for django.db.models.fields.file.FieldFile class.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@9647 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2008-12-16 04:52:55 +00:00
parent 4bede45816
commit b96b450981
3 changed files with 19 additions and 4 deletions

View File

@ -29,6 +29,9 @@ class FieldFile(File):
return self.name == other.name
return self.name == other
def __ne__(self, other):
return not self.__eq__(other)
# The standard File contains most of the necessary properties, but
# FieldFiles can be instantiated without a name, so that needs to
# be checked for here.

View File

@ -22,12 +22,12 @@ except ImportError:
if Image:
class Person(models.Model):
name = models.CharField(max_length=50)
mugshot = models.ImageField(storage=temp_storage, upload_to='tests',
height_field='mug_height',
mugshot = models.ImageField(storage=temp_storage, upload_to='tests',
height_field='mug_height',
width_field='mug_width')
mug_height = models.PositiveSmallIntegerField()
mug_width = models.PositiveSmallIntegerField()
__test__ = {'API_TESTS': """
>>> image_data = open(os.path.join(os.path.dirname(__file__), "test.png"), 'rb').read()
@ -42,6 +42,18 @@ if Image:
>>> p.mug_width
16
# Bug #9786: Ensure '==' and '!=' work correctly.
>>> image_data = open(os.path.join(os.path.dirname(__file__), "test1.png"), 'rb').read()
>>> p1 = Person(name="Bob")
>>> p1.mugshot.save("mug", ContentFile(image_data))
>>> p2 = Person.objects.get(name="Joe")
>>> p.mugshot == p2.mugshot
True
>>> p.mugshot != p2.mugshot
False
>>> p.mugshot != p1.mugshot
True
# Bug #8175: correctly delete files that have been removed off the file system.
>>> import os
>>> p2 = Person(name="Fred")
@ -69,4 +81,4 @@ False
>>> shutil.rmtree(temp_storage_dir)
"""}

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B