Модельный дизайн django - PullRequest
       2

Модельный дизайн django

0 голосов
/ 19 февраля 2020

Модель выглядит следующим образом. Где apps - это поле, которое может иметь только app1 и app2 в качестве вариантов, которые могут быть увеличены в будущем. Кроме того, каждый выбор приложения (app1, app2) должен быть моделью с полями, представляющими функции. Как реализовать это в Django моделях.

apps:
      app1:
        feature_app1_1: "Data"
        feature_app1_2: "Data"
      app2:
        feature_app2_1: "Data"
        feature_app2_2: "Data"

1 Ответ

1 голос
/ 20 февраля 2020

Похоже, вам нужны отношения многие ко многим . Поле «Многие ко многим» ограничит выбор созданными вами моделями, поэтому, если у вас есть только 2 приложения, то это будут ваши единственные варианты. Когда вы добавите больше, они появятся.

Итак, я предполагаю, что вы хотите что-то вроде этого:

Вы говорите, что «приложения» - это поле, поэтому, если это поле в родительской модели.

Class Foo(models.Model):
    apps = models.ManyToManyField(App) 


Class App(models.Model):
    name = models.Charfield(max_legnth=100) #App name
    features = models.ManytoManyField(Feature)


Class Feature(models.Model):
    name = models.Charfield(max_legnth=100) #Feature name
    ...... # Your data fields here. 

Ваш родительский класс будет иметь поле «многие ко многим» («приложения») со всеми нужными приложениями, а затем каждое приложение будет ссылаться на все функции («функции»), которые вам нужны. , Затем каждая функция содержит данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...