亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創建一個函數來為上傳的圖像位置指定目錄

創建一個函數來為上傳的圖像位置指定目錄

Helenr 2023-04-11 15:45:15
我為我的項目模型創建了一個函數,其中有根據用戶名和項目標題上傳的圖像。現在我正在嘗試向該項目添加更多圖像并且圖像有一個外鍵,但現在我不是隨機創建將新圖像上傳到另一個文件夾,而是想將這些圖像上傳到之前根據確定的相同文件夾到同一個項目。我試圖改變以前的函數,但它返回了一個錯誤,upload_design_to() takes 1 positional argument but 2 were given我認為是因為我沒有添加self到函數中,但我不知道用什么替換它。下面的函數將更具描述性:這是根據用戶名和項目標題將圖像上傳到某個位置的模型和功能:class Item(models.Model):    def upload_design_to(self, filename):        return f'{self.designer}/{self.title}/{filename}'    designer = models.ForeignKey(        User, on_delete=models.CASCADE)    title = models.CharField(max_length=100)    image = models.ImageField(blank=False, upload_to=upload_design_to)現在我創建了一個新的圖像模型來向該項目添加更多圖像并希望將它們上傳到同一個文件夾class Images(models.Model):    def upload_design_to(filename):        return f'{Item.designer}/{Item.title}/{filename}'    item = models.ForeignKey(Item, on_delete=models.CASCADE)    name = models.CharField(max_length=50, blank=True)    image = models.ImageField(blank=True, upload_to=upload_design_to)    def __str__(self):        return self.name
查看完整描述

2 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

您不重復自己的解決方案是調用upload_design_to相關的Item


class Images(models.Model):

    def upload_design_to(self, filename):

        return self.item.upload_design_to(filename)


    item = models.ForeignKey(Item, on_delete=models.CASCADE)

    name = models.CharField(max_length=50, blank=True)

    image = models.ImageField(blank=False, upload_to=upload_design_to)


查看完整回答
反對 回復 2023-04-11
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

class Images(models.Model):

? ? def upload_design_to(self, filename):

? ? ? ? return f'{self.item.designer}/{self.item.title}/{filename}'


? ? item = models.ForeignKey(Item, on_delete=models.CASCADE)

? ? name = models.CharField(max_length=50, blank=True)

? ? image = models.ImageField(blank=True, upload_to=upload_design_to)


? ? def __str__(self):

? ? ? ? return self.name

關于您提出的錯誤,您還可以為max_length文件字段設置一個屬性,這樣它就不會超過文件限制。您可以將其設置為 10000000 或足以容納您的文件的長度。


查看完整回答
反對 回復 2023-04-11
  • 2 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號