无论是领域还是django模型

时间:2016-05-10 09:00:32

标签: django django-models

您好我正在为书籍订阅类型创建一个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)

我想以这样的方式创建它:选择字段用户或字段组但不是两者 上面的语法给出错误“用户对象不可迭代” 谁能帮我这个? 提前致谢

1 个答案:

答案 0 :(得分:0)

首先,如果你想创建这样的话,一个建议是将管理器添加到这个模型,例如。 SubscriptionManager和写入create方法。它可能是这样的。

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