Python 可以使用self访问对象属性吗?
我正在尝试验证一些图像字段,我不知道是否可以使用表示字段名称的变量和for循环来迭代模型的属性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
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:
...