root/plesonet_filefield/trunk/fields.py

Revision 25, 0.8 KB (checked in by nazar, 4 years ago)

initial commit for image field and file field

Line 
1# -*- encoding: utf-8 -*-
2
3from django.db.models.fields.files import FileField
4
5from plesonet_filefield.forms import DeleteFileFormField
6
7import os
8
9class ImrpovedFileField(FileField):
10   
11    def save_form_data(self, instance, data):
12        '''
13            Overwrite save_form_data to delete images if "delete" checkbox
14            is selected
15        '''
16        if data == '__deleted__' and self.blank:
17            filename = getattr(instance, self.name).path
18            if os.path.exists(filename):
19                os.remove(filename)
20            setattr(instance, self.name, None)
21        else:
22            super(ImrpovedFileField, self).save_form_data(instance, data)
23   
24    def formfield(self, **kwargs):
25        kwargs['form_class'] = DeleteFileFormField
26        return super(ImrpovedFileField, self).formfield(**kwargs)   
Note: See TracBrowser for help on using the browser.