Фильтр выпадающих вариантов на основе значения другого поля: [Django, django-smart-selects].

Я хочу показывать только релевантные варианты в выпадающем списке first_model_field на основе значений полей product и product_state. Когда администратор изменяет значения одного из этих полей в SecondModel, он должен получить только first_model_field вариантов, которые имеют тот же статус и продукт. Как я могу получить отфильтрованные FirstModel на основе этих двух значений без написания async JavaScript? Он также должен меняться при изменении одного из этих значений в выпадающем списке.

class FirstModel(models.Model):
    product = models.ForeignKey("Product", on_delete=models.CASCADE)
    product_state = models.CharField(default=PRODUCT_STATE_START, choices=PRODUCT_CHOICES)

class SecondModel(models.Model):
    product = models.ForeignKey("Product", on_delete=models.CASCADE)
    product_state = models.CharField(default=PRODUCT_STATE_START, choices=PRODUCT_CHOICES)
    first_model_field = ChainedForeignKey(
        FirstModel,
        on_delete=models.CASCADE,
        chained_field="product",
        chained_model_field="product",
    )

ps: В настоящее время он фильтрует только по полю продукта

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