super(JQueryAutoCompleteField, self).__init__(*args, **kwargs)
-try:
- # check for south
- from south.modelsinspector import add_introspection_rules
-
- add_introspection_rules([
- (
- [JSONField], # Class(es) these apply to
- [], # Positional arguments (not used)
- {}, # Keyword argument
- ), ], ["^catalogue\.fields\.JSONField"])
-except ImportError:
- pass
-
class OverwritingFieldFile(FieldFile):
"""
def save(self, name, content, *args, **kwargs):
leave = kwargs.pop('leave', None)
- if not leave and self and content is not self:
+ # delete if there's a file already and there's a new one coming
+ if not leave and self and (not hasattr(content, 'path') or
+ content.path != self.path):
self.delete(save=False)
- return super(OverwritingFieldFile, self).save(name, content, *args, **kwargs)
+ return super(OverwritingFieldFile, self).save(
+ name, content, *args, **kwargs)
class OverwritingFileField(models.FileField):
attr_class = OverwritingFieldFile
+
+try:
+ # check for south
+ from south.modelsinspector import add_introspection_rules
+
+ add_introspection_rules([], ["^catalogue\.fields\.JSONField"])
+ add_introspection_rules([], ["^catalogue\.fields\.OverwritingFileField"])
+except ImportError:
+ pass