Отношения "один ко многим" - "многие ко многим" в модели Django
Я ищу отношения, которые
- Пользователь создает инцидент,
- Выбирает несколько типов
- И у каждого типа есть множество подтипов, которые пользователи выбирают на фронт-энде
У меня есть таблица под названием "Инцидент",
Incident
name - XYZ
type - Multiple types
subtype - Multiple subtypes
* Note
A type has many subtypes in the system
Я пытаюсь сделать следующее,
Incident
name -
type - M2M(Type)
Type
name -
subtype - M2M(Subtype)
Subtype
Name -
Пожалуйста, подскажите, подходит ли нижеприведенный дизайн. Спасибо!
Вы можете разработать следующий проект. Здесь модель Incident
может иметь отношения с моделью SubType
, потому что вы можете получить Type
из модели SubType
.
class Type(models.Model):
name = models.CharField(max_length = 255)
class SubType(models.Model):
name = models.CharField(max_length = 255)
type = models.ForeignKey(Type, related_name = "sub_types", on_delete = models.CASCADE)
class Incident(models.Model):
name = models.CharField(max_length = 255)
sub_types = models.ManyToManyField(SubType)
user = models.ForeignKey(User, related_name = "incidents", on_delete = models.CASCADE)