[英]Django admin site does not pick current image URL
我正在嘗試在Django管理站點中編輯我的一個對象的字段,我的模型中也有一個Cloudinary圖像字段。 問題是,每當我嘗試對對象的CharField
之一進行編輯時,都會收到錯誤消息:
value too long for type character varying(100)
后來我發現,每次我完成編輯並嘗試保存時,即使我沒有觸摸我的imagefile
,它也會尋找一個新圖像來替換imagefile
的當前圖像,因此它返回一個空的圖像URL字符串像這樣:
但是當前圖像URL可以正常工作,並在單擊時顯示,如下所示:
我只想知道我做錯了什么,為什么每次單擊保存時它都會尋找一個新的圖像URL?
這是我的models.py
文件:
from django.db import models
from cloudinary.models import CloudinaryField
class profiles(models.Model):
firstname = models.CharField(max_length=120, default = 'null') #max_length=120
lastname = models.CharField(max_length=120, default = 'null')
gender = models.CharField(max_length=120, default = 'null')
dob = models.CharField(max_length=120, default = 'null')
callNumber = models.CharField(max_length=120, default = 'null')
whatsappNumber = models.CharField(max_length=120, default = 'null')
ministry = models.CharField(max_length=120, default = 'null')
centre = models.CharField(max_length=120, default = 'null')
campus = models.CharField(max_length=120, default = 'null')
hostel_address = models.CharField(max_length=120, default = 'null')
city = models.CharField(max_length=120, default = 'null')
qualification = models.CharField(max_length=120, default = 'null')
profession = models.CharField(max_length=120, default = 'null')
maritalStatus = models.CharField(max_length=120, default = 'null')
bacenta = models.CharField(max_length=120, default = 'null')
layschool = models.CharField(max_length=120, default = 'null')
imagefile = CloudinaryField('image', max_length=512, null=False, default =
'https://res.cloudinary.com/firslovetema/image/upload/v1566807474/h1psyutzptxlnhuk8uyr.png')
def __str__(self):
return str(self.imagefile)
這是我先前的問題的跟進問題,可以在這里找到:
當您保存對象時,Django會保存所有屬性,而不僅僅是保存您已更改的屬性。
Cloudinary庫將max_length
硬編碼為255 ,因此
max_length=512
不執行任何操作,並且 VARCHAR(100)
的錯誤。 您確定所有遷移都已在Heroku上應用嗎? 嘗試跑步
heroku run python manage.py migrate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.