• Gary Wilson Jr's avatar
    Changes to `ImageFileDescriptor` and `ImageField` to fix a few cases of setting… · d89ba464
    Gary Wilson Jr yazdı
    Changes to `ImageFileDescriptor` and `ImageField` to fix a few cases of setting image dimension fields.
     * Moved dimension field update logic out of `ImageFileDescriptor.__set__` and into its own method on `ImageField`.
     * New `ImageField.update_dimension_fields` method is attached to model instance's `post_init` signal so that:
       * Dimension fields are set when defined before the ImageField.
       * Dimension fields are set when the field is assigned in the model constructor (fixes #11196), but only if the dimension fields don't already have values, so we avoid updating the dimensions every time an object is loaded from the database (fixes #11084).
     * Clear dimension fields when the ImageField is set to None, which also causes dimension fields to be cleared when `ImageFieldFile.delete()` is used.
     * Added many more tests for ImageField that test edge cases we weren't testing before, and moved the ImageField tests out of `file_storage` and into their own module within `model_fields`.
    
    
    git-svn-id: http://code.djangoproject.com/svn/django/trunk@10858 bcc190cf-cafb-0310-a4f2-bffc1f526a37
    d89ba464
tests.py 5.71 KB