В настоящее время загрузка файлов не присутствует на странице изменений ModelAdmin

У меня есть модель ProductImages(models.Model) с fk на Product(models.Model).

В /admin/<app>/product/<id>/change/, все поля Product(models.Model), даже другие модели с fk до Product, показывают данные, хранящиеся на db для редактирования, только ProductImages(models.Model) не отображаются currently p.file-upload, например:

Это другая модель (модель пользователя) с ожидаемой работой бахавора.

enter image description here

Но в ProductImages(models.Model) части Product(models.Model) эти данные отсутствуют, я проверил html, может быть на ошибки css, но нет.

enter image description here

Я не использую пользовательский View, используйте admin.urls с пользовательским site.admin.

Код:

models.py

class Product(models.Model):
    ...#some fields
    def __str__(self):
        return self.slug or ''

    def get_absolute_url(self):
        return reverse('product_change', kwargs={'slug': self.slug, 'pk': self.pk})

    def save(self, *args, **kwargs): 
        self.product_title_seo = self.fn_product_title_seo
        self.product_title = self.product_title.capitalize()
        if not self.slug:
            self.slug = slugify(self.product_title_seo)
        return super().save(*args, **kwargs)

class ProductImages(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    image_file_w200_png = models.ImageField(
        
        verbose_name = "Imagens",
        upload_to=upload_to_image_file_w200_png,
        null=True,
        blank=True,
        default='magickhat-profile.jpg'
    )
    ...

admin.py

class AdminProductImages(admin.TabularInline):
    model = ProductImages
    form = ProductImagesForm
    extra = 10
    max_num = 10
    list_display = ('image_file_w200_png',)
    fieldsets = (
        (None, {'fields': ('image_file_w200_png',)}),
    )
    add_fieldsets = (
        (None, {
            'fields': ( 'image_file_w200_png'),
        }),
    )
    class Media:
        js = ('users/js/img_product_upload.js',)

class AdminProductModel(admin.ModelAdmin):

    inlines = [AdminProductImages,AdminProductFeatures]

    model = Product

    def product_thumb(self, obj):
        # return HTML link that will not be escaped
        return mark_safe(
            '<img src="%s" style="width:30px;height:30px;">' % (ProductImages.objects.filter(product=obj).first().image_file_w200_png.url)
        )

    list_display = ['product_thumb','user','slug','created_at']

    list_display_links = ('slug','product_thumb')


    exclude = ['slug','product_title_seo']
    
    def get_queryset(self, request):
        qs = super().get_queryset(request)
        return qs.filter(user_id=request.user)

forms.py

class ProductForm(ModelForm):
    ...#only fields and meta to model

class ProductImagesForm(forms.ModelForm):
    class Meta:
        model = ProductImages
        fields = ['image_file_w200_png']
        widgets = {
            'image_file_w200_png': forms.FileInput(attrs={'class': 'image_add_product'}),
        }

Идк, где я могу контролировать это поведение, и что нужно, чтобы показать currently файл, как это делают User Model, как мы видим на первом рисунке.

Вернуться на верх