0

实际上,在我的 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 <-> Zone Model <-> Article Model。然后在继续之前检查每个视图是否 CustomUser.Zone == Article.Zone。

路径#3:

你的来电。

4

1 回答 1

0

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

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

于 2013-03-18T20:30:01.653 回答