【问题标题】:Django Autocomplete Light create_field Not WorkingDjango Autocomplete Light create_field 不工作
【发布时间】: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


    【解决方案1】:

    不确定这是否是一个答案,但是.. 你确定你的 User 类继承自 PermissionsMixin 吗?

    class User(AbstractBaseUser, PermissionsMixin):
         pass
    

    【讨论】:

    • 谢谢,我不确定这是否可行,但我记得问题是因为我的 Django 应用程序没有使用集成身份验证。它被设置为使用自定义用户帐户,这就是它不起作用的原因,但您的答案可能也有效。不幸的是,这是很久以前的事了,我不知道我是否能够找到项目和代码来尝试一下。
    • @mirek - 我面临同样的问题。与 OptimusPrime 面临相同的问题。我已经继承了permissionmixin。还是没有运气
    猜你喜欢
    • 2016-10-20
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2021-10-14
    • 2019-08-12
    • 2016-09-26
    相关资源
    最近更新 更多