gpt4 book ai didi

database-design - 在数据库中存储年份/品牌/型号?

转载 作者:行者123 更新时间:2023-12-04 06:51:29 26 4
gpt4 key购买 nike

这是我的想法(原谅 Django 格式):

class VehicleMake(Model):
name = CharField(max_length=50)

class VehicleModel(Model):
make = ForeignKey(VehicleMake)
name = CharField(max_length=50)

class VehicleYear(Model):
model = ForeignKey(VehicleModel) # or ManyToManyField
year = PositiveIntegerField()

这将用于那些随机下拉选择框,它们在视觉上的布局类似于 [- Year -][- Make -][- Model -] .因此,要查询我需要的数据,我首先必须从年份表中选择所有不同的年份,按降序排序。然后我会找到那年生产模型的所有车辆品牌。然后是那一年制造的所有模型。这是一个很好的方法,还是我应该以某种方式重新排列外键?或者对年份/模型使用多对多表,这样就不会重复年份?

最佳答案

我会去:

  class VehicleModel( Model ): 
name = CharField( max_length=50 )
first-year = PositiveIntegerField()
last-year = PositiveIntegerField()
make = ForeignKey( make )

class Make( Model ):
name = CharField(max_length=50)
manufacturer = ForeignKey( VehicleManufacturer )

class VehicleManufacturer( Model ):
name = CharField(max_length=50)

这应该允许您将别克、雪佛兰、凯迪拉克等归为“通用汽车”

另外我认为你的 UI 逻辑有点缺陷,
This shouds like a job for a "walk right"menu, ie, you need a pulldown of all your manufacturers, when a particular manufacturer is selected you can present a sub-menu of models, when a model is selected you can then preset a年的子菜单。

或者,您应该在选择新制造商时编辑“模型”选择的内容,然后无论何时选择模型,都应该更新年份选择。

如上所述,您的用户界面将允许我输入“Studebaker”“Model T”“2010”

关于database-design - 在数据库中存储年份/品牌/型号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com