Как ограничить отображаемые варианты формы django в зависимости от url, по которому находится пользователь?
У меня пользователи приходят по адресу /drug_assess/?p=drugtype1 или /drug_assess/?p=drugtype2
Представление для страницы :
class CaseView(LoginRequiredMixin, TemplateView):
model = Case
template_name = "se_balance/se_balance.html"
def get(self, *args, **kwargs):
p = self.request.GET.get("p", None)
sideeffect_formset = SideeffectFormSet(queryset=SideEffect.objects.none(),)
return self.render_to_response(
{ "page_title": p.capitalize(),
"sideeffect_formset": sideeffect_formset,
"sideeffect_formsethelper": SideEffectFormSetSetHelper,
}
)
выводит набор форм:
SideeffectFormSet = inlineformset_factory(
Case,
SideEffect,
fields=("se_name", "concern"),
widgets={'concern': RangeInput()},
extra=0,
min_num=1,
validate_min=True,
)
На основе этой модели:
class SideEffect(TimeStampedModel):
SE_CHOICES = [
("weight_gain", "Weight Gain"),
("parkinsonism", "Parkinsonism"),
("dystonia", "Dystonia"),
("tardive_dyskinesia", "Tardive Dyskinesia"),
("akathisia", "Akathisia"),
("prolactin", "Hyperprolactinaemia"),
("qtc", "QT Prolongation"),
("cholinergic", "Anticholinergic Side Effects"),
("sedation", "Sedation"),
("none", "None"),
]
se_name = models.CharField("",max_length=200, choices=SE_CHOICES, default="none")
concern = models.IntegerField("",default=50)
case = models.ForeignKey(Case, on_delete=models.CASCADE)
Пользователь видит выпадающий список, в котором доступны все варианты из SE_CHOICES, но я хочу показать только часть из них в зависимости от того, находится ли пользователь в /drug_assess/?p=drugtype1 или /drug_assess/?p=drugtype2