所有人,
我对Django s ForeingKeys诉许多ToMany Fields案的基本模式缺乏一些基本内容。
附录一 我也许有以下几类:
class Car(models.Model):
carName = models.CharField()
class Manufacturer(models.Model):
manufacturerName = models.CharField()
class Wheel(models.Model):
radius = models.IntegerField()
迄今情况良好。 现在这些阶层之间有一些关系。 一辆汽车有制造商,有(四)轮胎。 从概念上讲,情况有所不同。 制造商通过“行李”进行联系;制造商可以与多辆汽车连接;拆开车不应造成汽车制造商被删除。 轮椅通过“配对”进行;每四轮汽车与汽车有关,只有汽车;删除汽车和轮椅也应删除。
因此,间接来说,这意味着我应该做以下工作:
class Car(models.Model):
carName = models.CharField()
manufacturer = models.ManyToManyField("Manufacturer")
wheels = models.ForeignKey("Wheel")
最后,我要使用线形——要素,使用户能够同时填写有关汽车、汽车制造商和轮船的细节。 与此类似:
class CarForm(ModelForm):
class Meta:
model = Car
class ManufacturerForm(ModelForm):
class Meta:
model = Manufacturer
class WheelForm(ModelForm):
class Meta:
model = Wheel
Manufacturer_formset = inlineformset_factory(Car,Manufacturer,formset=ManufacturerForm)
Wheel_formset = inlineformset_factory(Car,Wheel,formset=WheelForm)
但我发现的大多数文件都表明,ForiegnKey应当从轮到车。 这对我来说似乎落后了,因为轮式“制”会向使用者介绍所有的田地,供他们使用汽车(“carName”)而不是轮式(“radius”)。
只是把这一问题打上了字,使我感到困惑。 任何人都能够说明我如何建立一个拥有所有汽车田的表格,然后是所有制造商田,然后是所有轮椅田。
增 编