django表单筛选器字段queryset



如何过滤表单的字段查询集?经过一番搜索,我发现是这样做的。但我这里有个错误。

class TbPeopleEntranceRightForm(forms.ModelForm):
def __init__(self, user=None, *args, **kwargs):
self.user = user
super().__init__(*args, **kwargs)
print(self.user)
self.fields['user'].queryset = self.user
class Meta:
model = TbPeopleEntranceRight
fields = ['user', 'area', 'room']

'TbUser' object has no attribute 'all'

self.fields['user'].queryset = self.user

这里self.fields["user"].queryset需要一个查询集,您将在其中提供一个用户实例。

你可能想做这样的事情。

class TbPeopleEntranceRightForm(forms.ModelForm):
def __init__(self, user=None, *args, **kwargs):
self.user = user
super().__init__(*args, **kwargs)
print(self.user)
self.fields['user'].queryset = YourUserModel.objects.filter(id=self.user.id)
class Meta:
model = TbPeopleEntranceRight
fields = ['user', 'area', 'room']

最新更新