无法理解Django中的用户对象

时间:2016-02-07 10:36:57

标签: python django

我正在学习django并创建一个网络应用程序,客户注册进行购买,供应商也可以添加他/她的产品进行销售。阅读django上的文档后,我仍然不清楚django提供的内置对象中的User。我的问题是:

  1. 我应该在构建对象中使用User来满足我的要求。但在阅读文档后,似乎User对象主要适合管理员权限/超级用户,或者我错了。

  2. 由于我将拥有2个用户,这意味着在数据库中有2个不同的模型。将有2个不同的意见。客户或用户只看到待售产品,供应商只看到他/她希望出售的仪表板和产品。

  3. 从Java的角度来看,我可以创建一个Client类和Vendor类,但我想在django中执行此操作,看起来我从他们建议使用User对象的文档中读到的内容。请问我该如何解决这个问题,或者有人可以举例说明如何解决这个问题。非常感谢..

1 个答案:

答案 0 :(得分:1)

你是对的,java透视图是数据库透视图,对于django也是如此:

from django.contrib.auth.models import User

class Client(models.Model):

   user = models.OneToOneField(User)
   # ... more Client fields here

class Vendor(models.Model):

   user = models.OneToOneField(User)
   # ... more Vendor fields here

请注意,这些模型允许用户成为客户端和供应商 - 或者根本不存在。如果用户只能是客户供应商,或者必须是其中一个类,则需要进行其他验证。用户模型将用于所有人的共同功能,例如身份验证或其他共享功能(例如,使用电子邮件发送通知)