Например, в моем коде:Как вызвать метод save() в классе модели Django, используя имя атрибута attr?
class ClassName():
[...]
image_bigger = models.ImageField(upload_to='dir', max_length=500, blank=True, null=True)
image_big = models.ImageField(upload_to='dir', max_length=500, blank=True, null=True)
image_medium = models.ImageField(upload_to='dir', max_length=500, blank=True, null=True)
image_small = models.ImageField(upload_to='dir', max_length=500, blank=True, null=True)
def create_resized(self, attr_name, resized_size):
[...]
if attr_name == "bigger":
self.bigger.save(filename, suf, save=False)
elif attr_name == "big":
self.big.save(filename, suf, save=False)
elif attr_name == "medium":
self.medium.save(filename, suf, save=False)
elif attr_name == "small":
self.small.save(filename, suf, save=False)
Я интересно, если есть что-то вроде GetAttr, чтобы избежать этого некрасиво, если Элиф блок кода ...
если 'attr_name == "маленький"' вы действительно хотите сохранить 'self.medium'? –
ok Nigel Tufnel это была ошибка. Под редакцией! – wildnove