Отношения "один ко многим" - "многие ко многим" в модели Django

Я ищу отношения, которые

  1. Пользователь создает инцидент,
  2. Выбирает несколько типов
  3. И у каждого типа есть множество подтипов, которые пользователи выбирают на фронт-энде

У меня есть таблица под названием "Инцидент",

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)
Вернуться на верх