Django :Получение файлов из модели django с подписанными урлами из разных корзин
Надеюсь, у всех все хорошо
Я хочу загрузить некоторые файлы в разные ведра, и имена ведер также хранятся в смежном поле django в той же таблице. Как я могу получить это имя ведра и использовать для загрузки в опции хранения в поле FileField и получить подписанный url, Ниже моя таблица выглядит как
class TestFileField(models.Model):
id = models.AutoField(primary_key=True,blank=True,null=True)
name = models.CharField(max_length=30,null=True,blank=True)
**bucketname** = models.CharField(max_length=30,null=True,blank=True)
sourcefile = models.FileField(upload_to=get_upload_path, blank=True,storage = GoogleCloudStorage(bucket_name = **bucketname <-- i want a value which stored in the above bucketname field** ))
Или я также пытаюсь вот так,
@deconstructible
class CustomBucketSelection(GoogleCloudStorage):
def __init__(self,*args,**kwargs):
kwargs['bucket_name'] = 'mubucket' or settings.bucket
super(CustomBucketSelection,self).__init__(*args,**kwargs)
def url(self, name):
bucketname = current_instance.bucket_name
-----------------------------
i want current instance here to fetch the bucket name or credentials
which stores in same database.
once i got bucket name i will generate signed url and returns that url
-----------------------------------
return urll
class TestFileField(models.Model):
id = models.AutoField(primary_key=True,blank=True,null=True)
name = models.CharField(max_length=30,null=True,blank=True)
bucket_name = models.CharField(max_length=30,null=True,blank=True,default=settings.GS_BUCKET_NAME)
# filename = models.FileField(upload_to=get_upload_path, blank=True,storage = CustomBucketSelection)
На самом деле дело в том, что пока я сохраняю файлы, они прекрасно хранятся, но когда я извлекаю файлы, я хочу подписать урлы с соответствующими ведрами хранения, поэтому я пытаюсь так, Пожалуйста, подтвердите мне это, возможно ли это или нет, Если ДА, пожалуйста, помогите мне в этом