2016-05-10 6 views
0

Привет я создаю модель Джанго для типа подписки на книгилибо или поля Джанго модели

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, а

Смежные вопросы