Django форма - Как автозаполнить себя из другой формы

Я хотел бы автозаполнить Kpi fieldd путем извлечения его значения в name field. Например: здесь kpi = name.split("-")[6], который равен строке CPC. Как я могу это сделать?

enter image description here

class UserCampaigns(models.Model):
    dsp_choices =(
        ('Amazon', 'Amazon'),
        ('Amobee', 'Amobee'),
        ('AppNexus', 'AppNexus'),
        ('Digiteka', 'Digiteka'),
        ('DV 360', 'DV 360'),
    )
    kpi_choices = (
        ('CPA', 'CPA'), ('CPC', 'CPC'),
        ('CPD', 'CPD'), ('CPL', 'CPL'),
        ('CPM', 'CPM'), ('CPV', 'CPV'),
        ('CTR', 'CTR'), ('Vsibility', 'Visibility'),
        ('VTR', 'VTR'), ('LTR', 'LTR'),
    )
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.ForeignKey(CampaignNamingTool, on_delete=models.CASCADE)
    dsp = models.CharField(max_length=30, choices=dsp_choices)
    budget = models.DecimalField(max_digits=20, decimal_places=2)
    kpi = models.CharField(max_length=10) #choices=kpi_choices)
    start_date = models.DateField()
    end_date = models.DateField()

Вы можете сделать примерно следующее:

<select id="kpi">
    <option>...</option>
</select> 

<input id="kpi_input">

<script>
    const kpiSelection = document.getElementById("kpi");
    const kpiInput = document.getElementById("kpi_input");

    var kpiValue = kpiSelection.options[kpiSelection.selectedIndex].text;
    kpiInput.value = kpiValue.split('-')[6]
</script>

Получите текст выбранной опции и установите значение поля ввода. Создайте это как функцию, которая будет срабатывать при изменении выбранной опции.

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