Какой лучший DB-дизайн подержанного автомобиля в Джанго - PullRequest
0 голосов
/ 21 июня 2019

У меня есть фиксированный список Makes и Моделей , принадлежащих определенной марке, и ModelYearNames , которые также принадлежат Моделям;

ex).
Hyundai / AAA / 2010 новый ~ 2014a
Hyundai / AAA / 2015 ~ ~ 1011 * Hyundai / BBB / 2014 ~ новый B
audi / ttt / 2010 ~ new t
audi / qqq / 2019

автомобиль Mto1 марка
сделать модель 1toM
модель 1toM модель YearName
Модель автомобиля Mto1 YearName
Модель автомобиля Mto1

Вот то, что я разработал до сих пор,

class Manufacturer(models.Model):
    make = models.CharField(max_length=30, primary_key=True)


class Model(models.Model):
    make = models.ForeignKey(Manufacturer, on_delete=models.CASCADE)
    model = models.CharField(max_length=40)


class ModelYearName(models.Model):  
    model = models.ForeignKey(Model, on_delete=models.CASCADE)
    model_year_name = models.CharField(max_length=50)


class Car(models.Model):
    make = models.ForeignKey(Manufacturer, on_delete=models.CASCADE)
    model =  models.ForeignKey(Model, on_delete=models.CASCADE)
    model_year_name = models.ForeignKey(ModelYearName, on_delete=models.CASCADE)

Это лучший способ создания таблицы БД? Если да, как мне сохранить, например, запись с Make, Model, ModelYearName в правильной иерархии? (например, 2014 ~ новый b (ModelYearName) должен быть связан только с bbb (модель), hyundai (марка)

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