2013-04-14 196 views
0

我正在開發一項功能,以將Blog可見性限制爲給定用戶列表(博客查看器)。我想使用電子郵件地址添加查看器,因此如果用戶尚不存在此電子郵件地址,則會向用戶發送邀請以創建帳戶。Django,設計與另一個模型部分鏈接的模型

因此,在BlogViewer中,我的電子郵件地址中有一些存在於我的用戶模型中,有些則不。如何將我的BlogViewer模型鏈接到我的用戶模型?我應該將我的BlogViewer分成兩個模型,一個與現有用戶,所以我可以使用ForeignKey,另一個與不存在的用戶?

def Blog(models.Model): 
    creator = models.ForeignKey(User) 
    title = models.CharField() 
    description = models.TextField() 
    viewers = models.ManyToManyField(BlogViewer) 

def BlogViewerr(models.Model): 
    email= models.EmailField() 


#Part of my User model 
def User(models.Model): 
    email = models.EmailField() 
    username = models.CharField() 
    ... 

謝謝!

回答

0

我設法解決這個使用空的外鍵和設計模型是這樣的:如果給定電子郵件地址的用戶存在,那麼用戶字段更新,否則它保留爲空

def Blog(models.Model): 
    title = models.CharField() 
    ... 
    viewers = models.ManyToManyField(UserModel, through='BlogViewer') 

def BlogViewer(models.Model): 
    email = models.EmailField() 
    user = models.ForeignKey(UserModel, null=True) 
    blog = models.ForeignKey(Blog) 

。如果用戶不存在,我仍然可以使用電子郵件地址向邀請加入的用戶發送電子郵件。

相關問題