2016-05-10 12 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

最初のもので おかげで、1つの提案は、例えばのために、このモデルにマネージャーを追加だろう。サブスクリプションマネージャとその書き込みメソッドを作成します。それはこのようなものかもしれない。

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の世話をするだけでなく

関連する問題