如何过滤表单的字段查询集?经过一番搜索,我发现是这样做的。但我这里有个错误。
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']