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) 

На самом деле дело в том, что пока я сохраняю файлы, они прекрасно хранятся, но когда я извлекаю файлы, я хочу подписать урлы с соответствующими ведрами хранения, поэтому я пытаюсь так, Пожалуйста, подтвердите мне это, возможно ли это или нет, Если ДА, пожалуйста, помогите мне в этом

Вернуться на верх