django.db.models.
ForeignObject
(**kwargs)Базовый класс для свзяей таблиц
to - ссылка на модель таблицы
on_delete=CASCADE - что делатьс записью, при удалении первичной записи
CASCADE - удалить записи вторичной таблицы
PROTECT - не удалять и вызывать исключение
SET_NULL - записать значение NULL
SET_DEFAULT - записать дефолтное значение для поля
django.db.models.
ForeignKey
(**kwargs)Связь один ко многим
Наследник ForeignObject
class Category(models.Model):
name = models.CharField(...)
class Good(models.Model):
category = models.ForeignKey(
Category,
on_delete=models.SET_NULL,
related_name='goods',
)
django.db.models.
ManyToManyField
Связь многие ко многим
users_like = models.ManyToManyField(
settings.AUTH_USER_MODEL,
related_name='images_liked',
blank=True)
django.db.models.
OneToOneField
(**kwargs)Связь один к одному
Наследник ForeignKey
class Category(models.Model):
name = models.CharField(...)
class Good(models.Model):
category = models.OneToOneField(
Category,
)