У меня есть модели House и HouseImage:
class House(models.Model):
...
class HouseImage(models.Model):
image = models.ImageField()
house = models.ForeignKey(House, related_name='images')
Проблема в том, чтобы разрешить пользователям на странице администратора загружать несколько изображений HouseImages. Теперь у меня HouseImageAdmin как встроенный в HouseAdmin, и в этом случае пользователь не может добавить несколько HouseImages, загрузив несколько файлов, пользователь должен добавить новый встроенный объект, затем загрузить файл, а затем повторить эти действия N раз. Я хочу добавить один виджет для загрузки нескольких файлов, который будет автоматически добавлять HouseImage для каждого загруженного файла. Как мне это сделать?
🤔 А знаете ли вы, что...
Django имеет ряд библиотек для работы с геолокацией и геоданными.
Я это сделал. Только что сделал кастомную админку
class HouseAdminForm(forms.ModelForm):
images = forms.FileField(
widget=forms.ClearableFileInput(attrs = {'multiple': True}),
label=u'Фото дома',
required=False,
)
class Meta:
model = House
fields = '__all__'
def save(self, *args, **kwargs):
house = super(HouseAdminForm, self).save(*args, **kwargs)
if hasattr(self.files, 'getlist'):
for f in self.files.getlist('images'):
HouseImage.objects.create(house=house, image=f)
return house