Пишу новый проект на Джанго и решил-таки, наконец, пойти по пути TDD. Но столкнулся с проблемой при тесте загрузки файла. Т.к. в настоящий момент никаких форм у меня пока нет, хочу проверить просто соответствующие методы.
Есть некий класс:
class Photos(models.Model):
#*тут много чего опущено, но сути оно не меняет - в таком варианте тоже не работает
photo_file = models.ImageField(upload_to=photos_storage)
def add_photo(self, photo_file):
with open(photo_file) as f:
my_file = File(f)
filename = "filename.jpg"
self.photo_file.save(filename, my_file)
При проверке размеров исходного файла и загруженного получаю:
AssertionError: 301202L is not 1830L
Т.е в upload_to попадает только обрывок файла (вижу, что обрывок т.к. в начале там EXIF идет). Не понимаю куда копать. Может при работе с локальными файлами надо что-то другое делать? Т.к. если я беру файлы из request.FILES это все работает в другом проекте.
Работаю на Win7, если это имеет значение. Django 1.5, Python 2.7.