2

这是一个简单的模型:

类产品(模型。模型):

caption = models.CharField(max_length=1000)
description=models.TextField()
supplier = models.ForeignKey(Supplier)
designNumber = models.CharField(max_length=100)
price = models.IntegerField()
stock = models.IntegerField()
parameters = models.ManyToManyField(ProductParameterValues)
image = cloudinary.models.CloudinaryField('image')
added_on = models.DateTimeField(auto_now=True)
def __unicode__(self):
    return self.designNumber + ":" + self.caption + ":" + self.supplier.name

我希望能够让图像(云图像)有一个由其他参数组成的公共 id - 比如供应商.user.id 和 designNumber。

我们如何做到这一点?

谢谢。

4

1 回答 1

3

在最新版本的 Python 库中,您可以从 CloudinaryField 继承并从模型的属性中确定 public_id(和其他上传参数),例如:

class MyCloudinaryField(CloudinaryField):
    def upload_options(self, model_instance):
       return {'public_id': model_instance.supplier.user.id + "-" + model_instance.designNumber}
于 2012-10-28T18:30:42.217 回答