具有多个字典选项的Django模型字段

具有多个字典选项的Django模型字段,django,django-models,Django,Django Models,我遇到了一个问题,这是一个复制品,规模比我遇到的要小 class Garage(models.Model): vehicles = models.CharField(max_length=255) 我想在车库里存放多辆车。我希望每辆车都是品牌和型号 所以我想我可以做这样的事情 class Make(models.Model): make = models.CharField() class Model(models.Model): model = models.Cha

我遇到了一个问题,这是一个复制品,规模比我遇到的要小

class Garage(models.Model):
    vehicles = models.CharField(max_length=255)
我想在车库里存放多辆车。我希望每辆车都是品牌和型号

所以我想我可以做这样的事情

class Make(models.Model):
    make = models.CharField()

class Model(models.Model):
    model = models.CharField()
然后,我可以在我的
Garage
类中指定任意数量的Make:Model对象,并将它们指定给vehicles字段

因此,基本上,车辆希望:

{'Ford':'Mustang', 'Chevrolet':'Camaro', 'Dodge':'Charger'}
编辑

在我的管理面板中,我希望能够创建多个车库。当我去车库时,我希望能看到每一个品牌的新领域。然后对于每个make,我希望它是所有模型的多选字段

Ford: [Mustang, Camaro, Charger]
Chevy: [Mustang, Camaro, Charger]
Dodge: [Mustang, Camaro, Charger]
所以,当我参考那个车库时,我可以根据品牌和型号看到里面有哪些车辆

当我进入管理面板时,我需要以下选项:

Makes(我可以创建所有Make的列表) 模型(其中我列出了所有模型) 车库(其中显示所有品牌,每个品牌旁边都有一个multiselect,显示所有模型)


然后,当我保存时,车库现在会用这些车辆进行更新。

我建议您创建一个要添加到车库模型中的车辆模型。因此,我建议您执行以下操作:

class车库(models.Model):
name=models.CharField(最大长度=60)
CarMake类(models.Model):
name=models.CharField(最大长度=60)
类别CarModel(models.Model):
name=models.CharField(最大长度=60)
make=型号。外键(CarMake)
定义(自我):
返回self.name
车辆类别(型号.型号):
model=models.ForeignKey(CarModel)
车库=型号。外键(
车库,相关车辆,
blank=True,null=True
)
您可以在
admin.py
文件中注册您的模型:

class车辆联机(管理列表联机):
型号=车辆
类GarageAdmin(admin.ModelAdmin):
型号=车库
内线=(车辆内线,)
管理站点注册(CarMake)
管理站点注册(CarModel)
管理站点注册(车辆)
管理站点注册(车库、车库管理)

听起来你需要一辆
汽车
型号,带
车库
的外键。我应该能够创建一个品牌和型号的大列表。然后,当我在管理面板中转到车辆时,我应该会看到我创建的每个品牌都有一个新的选项。然后,对于每个品牌,我都应该有一个多选字段来选择我想要的任何车型。@Halloween您可以通过在车辆中使用内联车型来实现这一点。我不熟悉内联车型。你有一个简单的例子吗?你允许一辆车有多个型号吗?为什么是多选?我希望车库有多辆车。每个品牌都有多个型号。