【发布时间】:2020-06-11 06:28:45
【问题描述】:
我真的希望能够使用 django-autocomplete-light 使用户能够在使用自动完成框时创建新的特许经营名称。我已经设置好了,但是我没有创建的选项。我可以在文档中看到有关添加权限的信息,但我不太明白它是在哪里完成的,而且如果我在 shell 中运行,我会收到如下错误:
>>> from user.models import User
>>> user = User.objects.get(username="joeuser")
>>> permission = Permission.objects.get(name='Can add franchise')
>>> user.user_permissions.add(permission
>>> user.user_permissions.add(permission)
AttributeError: 'User' object has no attribute 'user_permissions'
使用它的形式如下:
franchisename = forms.ModelChoiceField(queryset=allfranchises,widget=autocomplete.ModelSelect2(url='/seasons/franchisesautocomplete/'),required=True)
网址如下:
url(r'^franchisesautocomplete/', views.FranchiseAutocomplete.as_view(create_field='name'), name='franchiseautocomplete'),
视图如下:
class FranchiseAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self, *args, **kwargs):
user = getuser(self.request)
if user == None:
#Set a blank queryset if the user is not logged in
qs = Franchise.objects.none()
else:
qs = Franchise.objects.all()
return qs
自动完成功能将结果集返回到选择框,只是无法让创建工作。请有人帮忙。
【问题讨论】:
标签: django django-authentication django-autocomplete-light