Как разделить строку одного поля модели и сопоставить ее с другим полем формы в Django 3.x

Моя models.py выглядит следующим образом

class MyModel1(models.Model):
    id = models.AutoField(primary_key=True)
    tag = models.CharField(max_length=255)

class MyModel2(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.ForeignKey(MyModel1, on_delete=models.CASCADE)
    scope = models.CharField(max_length=255)

мой forms.py выглядит следующим образом

Myform1 = modelformset_factory(
   MyModel2,
   fields=('name','scope'),
   extra=1,

мой views.py выглядит так

def index(request):
    template_name = 'main/scope1.html'
    if request.method == 'GET':
        formset = Myform1()
        for form in formset:
            pass
            ## tried to split here (but it affects my dropdown in template)
            ## form.fields['name'].queryset = 
            ## form.fields['scope'].queryset = 
        
    return render(request, template_name, {
       'formset': formset
})

Теперь значение tag в MyModel1 может иметь или не иметь специальный символ -, например a-b. Если - присутствует в name, я хочу разделить его и иметь name = a и scope = b из MyModel2. Я пытался манипулировать этим в views, но не уверен, как это сделать так, чтобы выпадающий список шаблона не пострадал .

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