2016-02-23 3 views
1

У меня есть следующие модели:Джанго внешнего ключа ссылки из другой модели

class Author(models.Model): 
    name = models.CharField(max_length=255, unique=True) 
    """books = Attribute which allows an access to books from this author""" 
    class Meta: 
     ordering = ['name'] 


class Book(models.Model): 
    name = models.CharField(max_length=255, unique=True) 
    author = models.ForeignKey(Author, on_delete=models.CASCADE) 
    class Meta: 
     ordering = ['name'] 

Как я могу сделать атрибут Автор, который позволяет мне получить доступ к своим книгам?

ответ

4

Вам не нужно создавать новый атрибут в Author. Вы можете получить книги, написанные определенным автором, следуя ForeignKey отношений назад следующим образом:

author = Author.objects.get(name='George Orwell') 
books = author.book_set.all() 

book_set функция по умолчанию создаются Джанго при создании ForeignKey отношения между Book и Author.

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