У меня есть модель продукта, и мне нужен массив изображений. Я использую массив postgresql для хранения URL-адресов из хранилища firebase. Я не уверен, что это хороший способ обработки изображений, любая помощь с обработкой изображений в БД будет отличной.
class Product(models.Model):
name = models.CharField(max_length=50)
description = models.TextField()
price = models.DecimalField(max_digits=10, decimal_places=2)
categories = ArrayField(models.CharField(max_length=20))
pictures = ArrayField(models.CharField(max_length=100))
Я хочу выбрать изображения из файловой системы с помощью Django FileInput, получите путь к ним и загрузите их в хранилище firebase. Я не могу понять, как это получить. Кроме того, мой clean_pictures не вызывается, не знаю почему, но я полагаю, что поле изображений модели отличается от поля формы, что приводит к ошибке.
class NewProductForm(forms.ModelForm):
categories = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
choices=CATEGORIES_CHOICES
)
class Meta:
model = Product
fields = ['name','description','price','categories', 'pictures', 'businessId']
widgets = {
'name': forms.TextInput(attrs={
'class': 'form_input',
'placeholder': 'Nombre del producto'
}),
'description': forms.Textarea(attrs={
'class': 'form_input',
'placeholder': 'Descripcion'
}),
'price': forms.NumberInput(attrs={
'class': 'form_input',
'placeholder': 'Precio'
}),
'pictures': forms.FileInput(attrs={
})
}
def clean_pictures(self):
data = self.cleaned_data['pictures']
#upload images to firebase and return the urls.
print("pictures") #Check if called, NOT WORKING
return data