Django сохраняет изображение в базу данных

У меня есть сайт на Django, который загружает фото и затем сохраняет его в фолдер. После этого программа производит некоторую обработку изображения и сохраняет его в базу данных. Но она выдает ошибку:

UnboundLocalError: локальная переменная 'listing' ссылалась до присвоения

Часть модели:

class Listing(models.Model):
    item = models.CharField(max_length=64)
    description = models.CharField(max_length=255, blank=True)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    category = models.CharField(max_length=1, choices=CATEGORIES, default=CATEGORIES[5][1])
    time = models.DateTimeField(auto_now_add=True, blank=True)
    closed = models.BooleanField(default=False)
    owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="owners")
    bids = models.ManyToManyField(Bid, blank=True, related_name="bids")
    comments = models.ManyToManyField(Comment, blank=True, related_name="comments")
    image = models.ImageField(null=True, blank=True)
    restoredimage = models.BinaryField(blank=True)

Вид:

  # Create image save path with title
  img_save_path = "%s/%s%s" % (save_path, "image", img_extension)
  with open(img_save_path, "wb+") as f:
      for chunk in img.chunks():
          f.write(chunk)
  listing.restoredimage = None
  listing.restoredimage = cv2.imread(img_save_path) 

Простите, я новичок в Django и не знаю, правильно ли я делаю.

Похоже, что вы не инициировали listing как переменную, представляющую экземпляр класса Listing. Для этого вы можете сделать

listing = Listing(my_model)

перед

listing.restoredimage = None
listing.restoredimage = cv2.imread(img_save_path) 

код

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