Как отобразить связь foreign key в обоих моделях?

Для отображения связи foreign key в обоих моделях в Django, вы можете использовать поле ForeignKey в каждой модели, чтобы установить связь между ними.

Предположим, у нас есть две модели: Author и Book. Каждый автор может иметь несколько книг, поэтому у нас будет связь foreign key от модели Book к модели Author, а также обратная связь от модели Author к модели Book.

Вот пример кода:

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)
    # Добавляем связь foreign key от модели Book к модели Author
    # related_name позволяет обращаться к книгам автора через поле автора в модели Book
    # on_delete=models.CASCADE указывает на то, что если автор удален, все его книги также будут удалены
    # Если вы хотите, чтобы книги оставались в базе данных, даже после удаления автора, вы можете использовать значение on_delete=models.PROTECT
    # Если вы не хотите указывать значение on_delete, то по умолчанию будет использоваться значение on_delete=models.CASCADE
    # связь ForeignKey также может быть указана с дополнительными параметрами, такими как related_name, on_delete и другими
    # чтобы узнать больше о параметрах ForeignKey, вы можете ознакомиться с официальной документацией Django
    # https://docs.djangoproject.com/en/3.2/ref/models/fields/#foreignkey
    # в данном примере, значения по умолчанию для related_name и on_delete используются
    # вы можете настроить эти значения в соответствии с вашими потребностями
    # например, related_name='books' будет позволять обращаться к книгам автора через поле books в модели Author
    # и on_delete=models.PROTECT означает, что книги автора будут сохраняться в базе данных, даже после удаления автора
    book = models.ForeignKey('Book', related_name='author', on_delete=models.CASCADE)

class Book(models.Model):
    title = models.CharField(max_length=100)
    # Добавляем обратную связь от модели Author к модели Book
    # related_name задает имя, которое будет использоваться, чтобы обратиться к автору через поле книги в модели Author
    # on_delete=models.CASCADE указывает на то, что если книга удалена, она будет удалена из базы данных,
    # но это поведение можно изменить, используя другие значения, такие как on_delete=models.PROTECT,
    # чтобы книга осталась в базе данных даже после удаления автора
    author = models.ForeignKey(Author, related_name='books', on_delete=models.CASCADE)

С помощью такой конфигурации, вы сможете получить доступ к автору книги через поле author в модели Book, и к книгам автора через поле books в модели Author.

author = Author.objects.get(id=1)
books_by_author = author.books.all()

book = Book.objects.get(id=1)
author_of_book = book.author

Конечно, вы можете настроить связи ForeignKey по-разному, используя различные параметры и аргументы, в зависимости от своих специфических требований. Это лишь пример того, как можно настроить связи foreign key в обоих моделях.