2016-05-10 179 views
0

嗨,我創建爲圖書訂閱類型的Django的模型一方或領域Django模型

class Subscription(models.Model): 
    user = models.ForeignKey(User,null=True, blank=True) 
    group = models.ForeignKey(Group, null=True, blank=True) 
    book_list = models.ForeignKey(Books, null=True) 

    def create(cls, (user, group), **kwds): 
     return cls(user=user, group=group, books=books, **kwds) 

我想,要麼領域用戶選擇這樣的方式或現場集團打造這一點,但不是 上面的語法給出了一個錯誤「用戶對象不可迭代」 任何人都可以幫助我嗎? 在此先感謝

回答

0

第一件事,如果你想創建這樣的,一個建議是將管理器添加到這個模型,例如。 SubscriptionManager和寫入創建方法。它可能是這樣的。

def create(self, subscriber, **kwds): 
    if isinstance(subscriber, User): 
     #save subscriber instance in user field 
    elif isinstance(subsriber, Group): 
     #save subscriber instance is group field 

PS:我只提供解決方案,無論是或問題,照顧books_list,以及