I have this error after saving an avatar while creating an instance of this model (I didn't rewrite any base django model methods):
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def conference_directory_path(instance, filename):
return BASE_DIR+'/static/dialogues/conferences/conference_{0}/avatar/{1}'.format(instance.id, filename)
class Dialogue(models.Model):
...
avatar = models.ImageField(upload_to=conference_directory_path, blank=True)
...
What's wrong?
You are trying to store a value in your avatar
field that's beyond 100 characters the default max_length for file fields.
I'm not sure why you store the absolute path in your avatar field, you can simply set MEDIA_ROOT
in your settings file and your upload_to
will store relative paths to MEDIA_ROOT
only.
You can either do that or add a higher max_length
to your file fields.