Отношения внешнего ключа с булевыми значениями
Я работаю над одной функцией. У меня есть три различных типа автомобилей (седан, хэтчбек, внедорожник):
Category(models.Model):
id-
name-
image-
Всего у меня 6 функций.
Feature(models.Model):
id-
name-
detail-
image-
Из 6 функций 4 есть в каждом автомобиле. Вторая категория автомобилей имеет 5, а третья - все 6 функций. Здесь я застреваю: Мне нужно отправить все 6 функций во всех категориях на фронтенд, чтобы если кто-то нажмет на первую категорию, ему были показаны все 6, а 2 недоступные функции были вычеркнуты или отключены или что-то в этом роде. В общем, должно быть какое-то булево значение, которое показывает, что эта функция в этой категории True или False.
Как я могу проектировать таблицы?
Отношения n:m Многие ко многим представлены в виде таблицы мостов
А это будет выглядеть так (режимы сокращены)
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=30, db_index=True)
class Feature(models.Model):
name = models.CharField(max_length=30, db_index=True)
categories = models.ManyToManyField(Category, through='CategoryFeature')
class CategoryFeature(models.Model):
feature= models.ForeignKey(Feature, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)