Python 可以使用self访问对象属性吗?

Python 可以使用self访问对象属性吗?,python,django,django-models,Python,Django,Django Models,我正在尝试验证一些图像字段,我不知道是否可以使用表示字段名称的变量和for循环来迭代模型的属性 class Guitar(models.Model): images0 = models.ImageField(upload_to='images', blank=True) def clean(self): images = ['images0', ...] for idx, val in enumerate(imag

我正在尝试验证一些图像字段,我不知道是否可以使用表示字段名称的变量和for循环来迭代模型的属性

    class Guitar(models.Model):
         images0 = models.ImageField(upload_to='images', blank=True)

         def clean(self):
         images = ['images0', ...]
         for idx, val in enumerate(images):
            if self[val].size > 2000000:
所以可以这样使用
self

self[val].size == self.images0.size

那样做是不可能的。使用

你要找的是和

在读取Python文档后,您可能会考虑编写这样的代码:

 def clean(self):
     images = ['images0', ...]
     for idx, val in enumerate(images):
         if hasattr(self, val):
             image = getattr(self, val)
             if image.size > 2000000:
                 ...