Django admin. Чтобы в "select" происходил выбор из определенных записей с использованием соответствующего дополнительного ключа

Помогите сделать так, чтобы в "specsAdmin" в строке "Characteristic:" отображались только те варианты (после выбора товара), которые имеют тот же id категории, что и товар проблема с изображениями

вот такой код в model.py

class specs(models.Model):
    """ Характеристика к товару """

    tovar = models.ForeignKey(Tovars, on_delete=models.CASCADE)
    gl_category = models.CharField("Категория xарактеристики", max_length=50, null=True)
    category = models.ForeignKey("detail", verbose_name="Характеристика", on_delete=models.CASCADE)
    description = models.TextField("Значение")

    def clean(self, *args, **kwargs):
        if self.tovar == self.category:
            return super().clean(*args, **kwargs)
        raise ValidationError('товар и характеристика к товару должны совпадать')

    class Meta:
        verbose_name = "Характеристика к товару"
        verbose_name_plural = "Характеристики к товару"

    def __str__(self):
        return self.tovar

    def get_absolute_url(self):
        return reverse("specs_detail", kwargs={"pk": self.pk})

class detail(models.Model):
    """ Описание характеритики """

    category = models.CharField("Характеристика", max_length=50)
    сategory_tovar = models.ForeignKey(Category, verbose_name="Категория", on_delete=models.CASCADE)
    details = models.TextField("Описание характерискики", null=True, blank=True)

    class Meta:
        verbose_name = "Описание характеритики"
        verbose_name_plural = "Описание характеритики"

    def __str__(self):
        return self.category

    def get_absolute_url(self):
        return reverse("detail_detail", kwargs={"pk": self.pk})

и подобное в файле admin.py

@admin.register(specs)
class specsAdmin(admin.ModelAdmin):

    """ Характеристика к товару """

    list_display = ('tovar', 'gl_category', 'category', 'description')
    search_fields = ('tovar', 'name')


@admin.register(detail)
class detailAdmin(admin.ModelAdmin):
    """ Описание характеритики """

    list_display = ('category', 'details', 'сategory_tovar')
    search_fields = ('category',)

это detailAdmin img 1 detailAdmin img 2 detailAdmin это specsAdmin img 3 specsAdmin

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