2017-04-07 130 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')' –