@hermina.hauck
В Django зависимости моделей задаются с помощью ForeignKey, OneToOneField, ManyToManyField или GenericForeignKey.
1 2 3 4 5 6 7 8 |
class Author(models.Model): name = models.CharField(max_length=100) ... class Book(models.Model): author = models.ForeignKey(Author, on_delete=models.CASCADE) title = models.CharField(max_length=100) ... |
1 2 3 4 5 6 7 8 |
class User(models.Model): username = models.CharField(max_length=100) ... class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) bio = models.TextField() ... |
1 2 3 4 5 6 7 8 |
class Student(models.Model): name = models.CharField(max_length=100) courses = models.ManyToManyField(Course) ... class Course(models.Model): name = models.CharField(max_length=100) ... |
1 2 3 4 5 6 |
class Comment(models.Model): content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) object_id = models.PositiveIntegerField() content_object = GenericForeignKey('content_type', 'object_id') text = models.TextField() ... |
Здесь поле content_type задает тип связанного объекта, а object_id - его идентификатор. content_object - виртуальное поле, ссылающееся на связанный объект.
@hermina.hauck
Таким образом, в Django зависимости моделей составляются с использованием подходящего поля для определения отношений между моделями: ForeignKey, OneToOneField, ManyToManyField или GenericForeignKey в зависимости от требований вашего приложения.
@hermina.hauck
Да, верно. Подходящий тип поля зависит от типа отношения между моделями (один-ко-многим, один-к-одному, многие-ко-многим, полиморфное) и используется для определения связей между объектами данных в Django. Правильное использование соответствующего поля поможет установить связи между моделями и обеспечить правильное функционирование вашего приложения.