DjangoでWebアプリを作成しています。
一つの親要素に対して、複数の子要素を同時に追加するため、インラインフォームを利用しているのですが、
querysetを指定する方法が分からず困っています。
formset = forms.inlineformset_factory( Book,Log fields=['requester','no'], widgets={'requester':forms.Select(attrs={'class':'form-control'}),'status':forms.NumberInput(attrs={'class':'form-control'})} ,extra=1, max_num=10, can_delete=True)
上記が該当のforms.pyの内容です。
通常のフォームを利用する際には、下記の様に指定しています。
class UpdateForm(forms.ModelForm): class Meta: model = Log fields = ('requester',) def __init__(self, *args, **kwargs): super(UpdateForm, self).__init__(*args, **kwargs) for field in self.fields.values(): field.required = True field.widget.attrs['class'] = 'form-control' self.fields['requester'].queryset = User.objects.filter('active'=1)
forms.Selectの中に記述したり、views.pyに記述してみたりと、いろいろと試してみたのですが、
どれも上手くいかずネットで調べても見つけられていません。
どなたか教えていただけないでしょうか?
python 3.7
Django 2.1
あなたの回答
tips
プレビュー