【发布时间】:2016-08-13 07:17:09
【问题描述】:
我的测试失败,说 get() 返回了 2 个权限。但我没有在任何地方分配 2 个权限。在我看来,我从 django.contrib.auth.mixins 继承 PermissionRequiredMixin 并分配权限。以下是我的测试设置代码,其中显示错误:
def setUp(self):
self.material = MaterialFactory.create()
self.material_reorder = MaterialFactory.create(
opening_stock=500, reorder_qty=1000)
self.user = User.objects.create_user(
'admin', 'lennon@thebeatles.com', 'admin')
self.user.user_permissions.add(
Permission.objects.get(codename="add_material"))
【问题讨论】:
-
错误:test_modal_create_view (stores.tests.test_views.ReelMaterialModalCreateViewTest) ------------------------------ ---------------------------------------------------- Traceback(最近一次调用最后):文件“ /home/anand/base/tests/mixin.py”,第 95 行,在 setUp Permission.objects.get(codename=self.permission_codename).id) 文件“/home/anand/Envs/local/lib/python2.7 /site-packages/django/db/models/manager.py”,第 122 行,在 manager_method 返回 getattr(self.get_queryset(), name)(*args, **kwargs) MultipleObjectsReturned: get() 返回多个权限-- 返回 2!
-
使用edit 按钮更新您的问题。但错误很明显。您有两个具有相同代号的权限。在这种情况下,您预计会发生什么?
-
我正在使用默认的 django 权限:在我的视图中就像这个 permission_required = 'stores.add_material'。权限不超过一个
-
该错误表明有两个权限具有相同的代号。它与需要什么权限无关
-
谢谢。我得到了它。是的,我有 2 个具有相同代号的权限
标签: django