Как разделить строку одного поля модели и сопоставить ее с другим полем формы в 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, но не уверен, как это сделать так, чтобы выпадающий список шаблона не пострадал .