Django许可建议

时间:2013-03-18 19:24:01

标签: django django-admin django-permissions

我正处于我的Django 1.5项目的十字路口,在向右或向左转之前需要一些社区建议。

以下是我的模型文章模型

class Article(models.Model):

    title = models.CharField(max_length=1000, verbose_name="Titre")
    zone = models.ForeignKey('Zone', verbose_name=u"Area")

和我的区域模型

   class Zone(models.Model):
        name = models.CharField(max_length=50, unique=True)
        slug = models.CharField(max_length=50, unique=True)

        def __unicode__(self):
            return unicode(self.name)

        class Meta:
            ordering = ['name']

每篇文章都在地理“区域”中。

我的所有用户也依赖于相同的“区域”,并且可以编辑/添加/删除属于与用户相同的“区域”的文章。

路径#1:

我必须和django-guardian一起工​​作。它会支付长期或过度杀伤吗?

路径#2:

我只需要设置ForeignKey CustomUser Model< - >区域模型< - >文章模型。 然后我在继续之前检查每个视图是否CustomUser.Zone == Article.Zone。

路径#3:

你的电话。

1 个答案:

答案 0 :(得分:0)

最好是创建代理模型,在ModelAdmin中修改查询集并管理对该代理模型的权限。

http://lincolnloop.com/blog/2010/dec/16/using-proxy-models-customize-django-admin/