【发布时间】:2010-08-20 15:54:52
【问题描述】:
我希望为属于特定国家/地区的实体提供超级用户访问权限。
例如。瑞典 SU 只能管理瑞典实体等...
但是,我是 django 新手(接管旧系统),我需要一条生命线。
我希望能够指定一个关系表。
我已经添加了一个用户配置文件,并且有了一个名为 super_user_country_link = models.ForeignKey(SuperUserToCountry, blank=True, null=True) 的新字段
然后在一个新的类下面
class SuperUserToCountry(models.Model):
user = models.ForeignKey(User)
country = models.ForeignKey(Country)
我计划运行脚本,然后为每个超级用户添加一个条目,并为他们提供一个指向国家 0 的链接(即,没有国家/地区 => 总 su 访问权限)。 然后我可以删除这些条目,因为我开始将特定国家/地区的条目放入 所以稍后我可以调用(以房屋为例):
if user.is_superuser:
if user.get_profile().super_user_county_link.country == 0:
#show house detail...
elsif user.get_profile().super_user_county_link.country == 0
#show house detail...
else
pass
这么看,这应该意味着我可以针对单个用户列出多个国家,对吧?也许是我想多了,但这看起来对吗?
我来自 php 背景,所以我只是有点怀疑这是多么正确......
【问题讨论】:
-
你应该试着让你的问题更容易理解。
-
第二个代码 sn-p 中的
if和第一个elsif条件相同。这是故意的吗?
标签: python django database-design django-models