2017-04-07 170 views
-1

我想创建一个Web应用程序,其中我将拥有两种不同类型的用户Employee和Employers。他们将主要是非常见的领域。如何实现两者的单独注册。 目前我从用户模型继承。Django Django 1.9中的多个用户类型

models.py

class Category(models.Model): 

cname=models.CharField(max_length=250) 

def __str__(self): 
    return self.cname 


class Workplace(User): 
address=models.TextField(max_length=250) 
logo=models.ImageField(upload_to=upload_location,null=True,blank=True) 
wcategory=models.ForeignKey(Category,on_delete=models.CASCADE) 



class Employee(User): 
employee_id=models.CharField(max_length=250) 
eworkplace=models.ForeignKey(Workplace,on_delete=models.CASCADE) 

回答

1

在Django,你可以让他们都能够进行身份验证,或注册,通过设置你的工作场所和员工车型OneToOneFieldUser。如果您在设置中将此用户设置为AUTH_USER_MODEL = <yourapp.User>,您将能够注册已设置此字段的模型。

+0

但是我们不能同时在AUTH_USER_MODEL中同时有两个模型 –

+0

正确。将此值设置为'AUTH_USER_MODEL = ',然后在需要注册的其他模型中,添加: 'user = models.OneToOneField(settings.AUTH_USER_MODEL,related_name ='user_account')' –