我正在学习django并创建一个网络应用程序,客户注册进行购买,供应商也可以添加他/她的产品进行销售。阅读django上的文档后,我仍然不清楚django提供的内置对象中的User。我的问题是:
我应该在构建对象中使用User来满足我的要求。但在阅读文档后,似乎User对象主要适合管理员权限/超级用户,或者我错了。
由于我将拥有2个用户,这意味着在数据库中有2个不同的模型。将有2个不同的意见。客户或用户只看到待售产品,供应商只看到他/她希望出售的仪表板和产品。
从Java的角度来看,我可以创建一个Client类和Vendor类,但我想在django中执行此操作,看起来我从他们建议使用User对象的文档中读到的内容。请问我该如何解决这个问题,或者有人可以举例说明如何解决这个问题。非常感谢..
答案 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
请注意,这些模型允许用户成为客户端和供应商 - 或者根本不存在。如果用户只能是客户或供应商,或者必须是其中一个类,则需要进行其他验证。用户模型将用于所有人的共同功能,例如身份验证或其他共享功能(例如,使用电子邮件发送通知)