Как сохранить растр в RasterField после сохранения в GeoDjango?
Я создаю приложение, используя Django с бэкендом PostGIS. Таким образом, GeoDjango. У меня есть модель с FileField, и RasterField [1]. Я хочу сохранить растровый объект в RasterField после предоставления FileField. Я пытаюсь добиться этого, используя сигнал post_save.
class Layer(models.Model):
name = models.CharField(max_length=50, blank=True)
file = models.FileField(
upload_to='layers',
null=True,
max_length=500)
raster_file = RasterField(
null=True,
blank=True,
)
После некоторых исследований [2], вы должны использовать GDALRaster [3], чтобы сделать растр объектом. В моих сигналах:
from django.contrib.gis.gdal import GDALRaster
from data_management.models import Layer
@receiver(post_save, sender=Layer)
def create_raster(sender, instance, **kwargs):
instance.raster_file = GDALRaster(instance.file.path)
instance.save()
Когда я загружаю файл в админке, raster_file не заполняется и не создается. Как мне сохранить растр, который загружается через поле file, в моем поле raster_file?
