Чтение изображения, присутствующего в модели Django

Код модели выглядит следующим образом

class Post(models.Model):
    title = models.CharField(max_length=100)
    file = models.FileField(null=True,blank=True,upload_to='Files')
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

Я хочу прочитать файл (изображение или видео). Допустим, это изображение. Я хочу прочитать это изображение в формате массива.

Я пытался использовать следующий код, но я получаю только имя файла, а не матрицу изображения

img = Post.objects.all()[0].file
print(img)


OR
print(np.array(img))

Выход: car-1.jpg

Ожидаемый вывод : двумерный массив

по умолчанию django хранит путь к файлу или изображению, а не файл

поэтому вы должны получить путь к файлу + ваш url и использовать, например, wget lib, чтобы получить его, после чего вы можете использовать его

пример:

import cv2, wget
image_url = 'server_url + link_from_query'
filename = wget.download(image_url)
np_image = cv2.imread(filename)
Вернуться на верх