首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不允许基于规则链接对象

不允许基于规则链接对象
EN

Stack Overflow用户
提问于 2015-10-06 13:13:39
回答 1查看 31关注 0票数 0

我有两个模型:DomainRecord。许多记录链接到一个域。域名和记录都有其所有者。我不允许用户在他们不拥有的域中创建记录。但是,如果其他人(超级用户),他们应该能够编辑记录。创建它们并将所有者设置为特定用户(即使他们不拥有域)。这应该适用于管理站点和API (rest_framework)。

我的问题是--实现这一目标的最简单方法是什么?是否有一些django插件处理链接的权限?我可以在这里使用模型验证器(如果是,如何区分是否创建了一个新对象)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-12 13:19:18

这里的问题是Django Rest Framework和Django本身(通过admin)只在模型级别上进行交互。为了实现您的目标,我将实施以下设计:

  • 使模型了解其所有者和用户。为此,我将使用django-审计日志
  • 覆盖默认模型管理器并在create方法中构建您的逻辑,在该方法中,我将查询用户的属性并抛出适当的异常。

这样的设计将一些业务逻辑从控制器转移到数据模型上--对于这种方法的好处和缺陷存在一些争论。但是,对于带下划线的约束(Django、admin和API),您可以将其放在惟一的公共位置。

这就是你的目标吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32970958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档