我正在尝试验证一些图像字段,但我不知道是否可以使用表示字段名称的变量和for循环来迭代模型&#39 ; s属性?
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
答案 0 :(得分:2)
在阅读了这些函数的python文档之后,您可以考虑编写如下代码:
def clean(self):
images = ['images0', ...]
for idx, val in enumerate(images):
if hasattr(self, val):
image = getattr(self, val)
if image.size > 2000000:
...
答案 1 :(得分:0)