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)
код