Ответ 1
Установите null=True
(см. документация)
class Product(models.Model):
...
image = models.ImageField(upload_to=generate_filename, blank=True, null=True)
class Product(models.Model):
...
image = models.ImageField(upload_to = generate_filename, blank = True)
Когда я использую ImageField (blank = True) и не выбираю изображение в форме администратора, возникает исключение.
В коде django вы можете увидеть это:
class FieldFile(File):
....
def _require_file(self):
if not self:
raise ValueError("The '%s' attribute has no file associated with it." % self.field.name)
def _get_file(self):
self._require_file()
...
У Django trac есть билет № 13327 об этой проблеме, но, похоже, он не может быть исправлен в ближайшее время. Как сделать это поле необязательным?
Установите null=True
(см. документация)
class Product(models.Model):
...
image = models.ImageField(upload_to=generate_filename, blank=True, null=True)
blank=True
должен работать. Если по умолчанию этот атрибут False
установлен в значение True
, то он разрешает ввод пустого значения.
У меня есть следующий класс в моей статье:
class Photo(models.Model):
imagename = models.TextField()
articleimage = models.ImageField(upload_to='photos/%Y/%m/%d', blank=True)
Я использую вышеуказанный класс в другом классе с помощью отношения ManyToManyField
:
class Article(models.Model):
pub_date = models.DateTimeField(default=timezone.now)
slug = models.SlugField(max_length=130)
title = models.TextField()
photo = models.ManyToManyField(
Photo, related_name='photos', blank=True)
author = models.ForeignKey(User)
body = models.TextField()
categories = models.ManyToManyField(
Category, related_name='articles', null=True)
Я хочу сделать изображения в моих статьях необязательными, поэтому blank=True
в
photo = models.ManyToManyField(Photo, related_name='photos', blank=True)
. Это позволяет мне создать статью без каких-либо изображений, если захочу.
Используете ли вы класс Product
в любых отношениях? Если это так, убедитесь, что вы устанавливаете blank=True
в отношении, которое вы используете.