关于在模型中关联数据的新手 Django 问题。
我有三个表,CarMake、CarModel 和 Driver。
CarMake 中有多个汽车品牌。
CarModel 有每个品牌的多个模型。
我的第一个问题是如何关联每辆车的多个车型 models.py 类中的品牌?
其次,在管理页面(最终通过 View )我如何 将这些汽车品牌和汽车型号与驾驶员相关联。所以在管理员中, 如果我创建一个新的驱动程序,我选择驱动程序名称,然后从 下拉列表 car_make,然后根据我选择的 Make,选择 来自汽车型号的下拉列表。
例如在管理中:
driver name = "john" driver car = -> Toyota -> Avalon第三,我如何选择多个汽车品牌和多个车型 每个司机。因此,如果驾驶员选择 Volkswagon 车型,他们可以从下拉列表中选择“高尔夫”和“帕萨特”作为他们的汽车。
这是我正在考虑的一些基本代码:
from django.db import models
class CarMake(models.Model):
MAKE = (
('Ford'),
(''Toyota'),
('Volkswagon'),
)
car_make = models.CharField(choice=MAKE)
class CarModel(models.Model):
MODEL = (
('Ford'
('Focus'),
('Explorer'),
('F150'),
)
('Toyota'
('Avalon'),
('Highlander'),
('Tundra'),
)
('Volkswagon'
('Golf'),
('Jetta'),
('Passat'),
)
)
car_model = models.CharField(choice=MODEL)
class Driver(models.Model):
driver_name = models.CharField(max_length=120)
driver_car = '''choose make and model'''
请您参考如下方法:
查看 Django Models Documentation了解如何创建您的 models.py。我明白你在这个文件中得到的确切想法,但你将两件事结合起来。
models.py 应该包含实体及其连接方式 不 实体和这些实体的可能实例。 models.py 定义数据库结构而不是它的内容——这一点值得注意。
一些提示:
CarModel应该有CarMake表的ForeignKey。这将定义汽车与制造者之间的关系。然后您将需要定义另一个字段来保存该汽车的型号。我不确定如何强制只选择来自某个制造商的汽车(但这本身就是一个问题)- 也许这应该在前端逻辑中?Driver还应该有一个CarModel的ForeignKey来定义这个司机开的是什么车。 注意一个司机可以开多少辆车?您需要决定他们是只能驾驶一辆还是可以驾驶多辆。
在继续之前仔细阅读文档,它对您的帮助比其他任何东西都大,并且始终是最好的起点。
