[英]How to use default value in Django model once set to null?
我的 django 應用程序中有這個 model:
class Person(models.Model):
name = models.CharField(max_length=50)
image = models.ImageField(blank=True, upload_to='images', default='default/static/image/here')
def __str__(self):
return self.name
在制作 Person object 時,如果留空,“圖像”將設置為默認值,但稍后,如果用戶決定刪除他的圖像,他的圖像將不再設置為默認值,而是設置為 NULL。 我怎樣才能使圖像再次為 NULL 時,它會自動恢復默認值?
更改圖像時,ImageField 不會是 Null。 您可以設置默認圖像。 如果用戶想刪除他的圖像,默認圖像會再次出現。
您可以修改檢查 ImageField 是否為 Null 的保存方法
class Person(models.Model):
name = models.CharField(max_length=50)
image = models.ImageField(blank=True, upload_to='images', default='default/static/image/here')
def __str__(self):
return self.name
def save(self, *args, **kwargs):
if not self.image: #here
self.image = 'default/static/image/here'
super(Person, self).save(*args, **kwargs)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.