Django modelformset_factory фильтрует поле foreign_key
Мой models.py имеет вид
class CalculatorType(models.Model):
id = models.AutoField(primary_key=True)
calculator_name = models.CharField(max_length=255)
calculator_scope = models.CharField(max_length=255)
class Factor(models.Model):
id = models.AutoField(primary_key=True)
fuel = models.CharField(max_length=255)
calc_type = models.ForeignKey(CalculatorType, on_delete=models.CASCADE)
class DataTable(models.Model):
id = models.AutoField(primary_key=True)
org_id = models.CharField(max_length=255)
fuel = models.ForeignKey(Factor, on_delete=models.CASCADE)
Мой файл forms.py выглядит следующим образом
DataTableModelFormset = modelformset_factory(
DataTable,
fields=('org_id', 'fuel'),
extra=1,
widgets={
'org_id': forms.TextInput(attrs={
'class': 'form-control',
'placeholder': 'Org ID'
}
),
'fuel': forms.Select(attrs={
'class': 'form-control',
'onchange': "myChangeHander(this)",
'id': 'id_stationary-0-fuel'
}
)
}
)
И, наконец, мой views.py имеет вид
def index(request):
template_name = 'main/temp1.html'
if request.method == 'GET':
formset = DataTableModelFormset(queryset=DataTable.objects.none())
return render(request, template_name, {
'formset': formset
})
Теперь я хочу отфильтровать fuel dropdown field
из DataTable
на основе определенной calc_type
таблицы Factor
. Я попробовал создать BaseModelFormSet
, но это не помогло https://docs.djangoproject.com/en/4.0/topics/forms/modelforms/