У меня есть следующие модели:
class AModel(BaseModel):
a_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=200)
a_images = models.ManyToManyField(BModel)
class BModel(BaseModel):
images = ImageField(upload_to='/')
Я хочу отобразить изображения BModel в форме администратора AModel. Я могу сделать это, используя
class BModelInline(admin.TabularInline):
model = AModel.a_images.through
Как отобразить предварительный просмотр изображения в табличном формате в форме администратора AModel? Я уже пробовал переопределять поля формы, но, похоже, это не работает.
formfield_overrides = { models.ImageField: {'widget': AdminImageWidget}}
class AdminImageWidget(AdminFileWidget):
def render(self, name, value, attrs=None):
output = []
if value and getattr(value, "url", None):
image_url = value.url
file_name=str(value)
output.append(u' <a href="%s" target="_blank"><img src="%s" alt="%s" width="150px"/></a> ' % \
(image_url, image_url, file_name))
output.append(super(AdminFileWidget, self).render(name, value, attrs))
return mark_safe(u''.join(output))