0

我正在开发一个 SAAS,并且最难思考为什么我需要将“用户”用于我自己以外的任何事情。我不知道为什么,但想到我作为整个软件的开发人员/管理员,拥有完整的 Django 管理员访问权限(如 Sauron 之眼),拥有与“帐户”相同类型的用户对象,这让我感到很奇怪" 持有人的 "UserProfile" 有。请帮助我理解为什么这是必要的。

例子:

class Account(models.Model): # represents copporate customer
    admin = models.ForeignKey(User)
    # other fields ...

class UserProfile(models.Model):
    user = models.ForeignKey(User)
    account = models.ForeignKey(Account)

感觉就像我正在将内置管理功能与我的帐户持有人的用户功能混合在一起。这只是为了重用 request.user 等元素吗?

4

1 回答 1

1

好吧,代码和功能的重用可能是一个令人愉快的副作用,但从根本上说,我认为这并没有被破坏。

用户代表使用您的网站的人。在基本级别上,该人是谁或他们需要什么特性或功能并不重要 - 只是他们提出请求并且可以通过某种方式识别。

可以在不同的层中添加更多的功能,或者通过组或权限等内置组件,或者通过您在示例中自己构建的其他东西。

于 2010-02-18T22:25:07.447 回答