gpt4 book ai didi

python - 使用 Django 模型权限引发 DoesNotExist 错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:32 27 4
gpt4 key购买 nike

我在使用 django guardian 时遇到了一些问题。我定义了一个新闻模型

class News(models.Model):
title = models.CharField(_('Title'), max_length=255)
slug = models.SlugField(_('Slug'), unique_for_date='pub_date',)

objects = models.Manager()
featured = FeaturedNewsManager()

link = models.URLField(_('Link'), blank=True, null=True,)

class Meta:
permissions = (('view_news', _('view news')))

然后我尝试将 view_news 权限分配给我的一个用户,但出现以下错误:

>>> from guardian.shortcuts import assign_perm
>>> g = Group.objects.latest('pk')
>>> n = News.objects.get(pk=4)
>>> assign_perm( 'news.view_news', g, n)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/home/roberto/.virtualenvs/ve_news/local/lib/python2.7/site-packages/guardian/shortcuts.py", line 93, in assign_perm
return model.objects.assign_perm(perm, group, obj)
File "/home/roberto/.virtualenvs/ve_news/local/lib/python2.7/site-packages/guardian/managers.py", line 90, in assign_perm
permission = Permission.objects.get(content_type=ctype, codename=perm)
File "/home/roberto/.virtualenvs/ve_news/local/lib/python2.7/site-packages/django/db/models/manager.py", line 143, in get
return self.get_query_set().get(*args, **kwargs)
File "/home/roberto/.virtualenvs/ve_news/local/lib/python2.7/site-packages/django/db/models/query.py", line 404, in get
self.model._meta.object_name)
DoesNotExist: Permission matching query does not exist.

我已尝试迁移我的应用程序,但这似乎无法解决我的问题。有什么帮助吗?

谢谢!

最佳答案

尝试做:

python manage.py syncdb --all 

或者进行您自己的迁移来处理新权限(south 有一个错误会阻止自动创建监护人权限的迁移)

关于python - 使用 Django 模型权限引发 DoesNotExist 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19277543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com