@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. Правильное использование соответствующего поля поможет установить связи между моделями и обеспечить правильное функционирование вашего приложения.