Я знаю, что вы можете использовать параметр upload_to для передачи вызываемой функции для динамического изменения FileFied/ImageField и т. Д. В модели Django.Django - передача дополнительных аргументов в функцию upload_to callable
Функция, вызываемая upload_to, передается 2 переменными, экземпляр файла (файла) без сохранения в базе данных и имя файла указанного экземпляра (имя файла).
Если я использую ImageField в модели вместе с другими (Char и т. Д.) Полями, можно получить значения из этих полей в эту же вызываемую функцию.
например.
class Badge(models.Model):
def format_badge_name(instance, filename):
_filetype = os.path.splitext(filename)[1]
_category = 'foo'
_name = os.path.splitext(filename)[0]
_filename = "%s-%s-%s%s" % (_category, _name, 'private', _filetype)
return "badges/%s" % _filename
name = models.CharField(max_length=16, help_text="Name for Badge")
file = models.ImageField(upload_to=format_badge_name)
Возможно ли передать значения из имени (self.name?) В format_badge_name?
Что вы пытаетесь сделать? –