这是我的models.py
class Equipment(models.Model):#table
equipment_Number = models.CharField(max_length=50,default=0,unique=True) #column
equipment_Name = models.CharField(blank=True, max_length=50,default='Dry')
mfd = models.DateField( default=datetime.date.today) #column
make = models.CharField(max_length=200)
model = models.CharField(max_length=200)
location = models.CharField(max_length=200)
doors = models.BooleanField(default=True)
locks = models.BooleanField(default=False)
def __unicode__(self):
return self.Make
class Inspection(models.Model):
inspected = models.ForeignKey(Equipment)#the key that links the tables
does_It_Work = models.BooleanField(default=True)
repairs = models.CharField(max_length=5000)
ins_date = models.DateTimeField( default=datetime.datetime.now)
这是我的form.py
class EquipmentForm(ModelForm):
class Meta:
model = Equipment
class InspectionForm(ModelForm):
class Meta:
model = Inspection
抱歉,让我更清楚一点。我的代码,'检查'课程链接到'设备'通过' make'属性。我需要它通过"设备_Number'属性。
我将设备类的名称更改为汽车,因为我认为它会使概念更加切实,并且会使您更容易提供帮助。原来我只是造成了更多的困惑。感谢您所有的帮助。 SO Rocks!
答案 0 :(得分:1)
如果您希望Equipment
模型的表单只显示equipment_Number
字段,那么您可以在forms.py
中将其定义如下:
class EquipmentNumberForm(ModelForm):
class Meta:
model = Equipment
fields = ['equipment_Number']
保存此表单(当然使用它的POST数据!)将创建具有指定Equipment
的{{1}}模型的实例,并将所有其他字段设置为其默认值或空值。 / p>
请注意,我为表单设置了equipment_Number
类的fields
属性。这是一个字符串列表,用于指定表单应显示哪些字段。您可以(尽管不建议这样做)使用属性Meta
,该属性将显示除列表中指定的字段之外的所有字段。
You can view the documentation here.
然而,你的问题并没有真正说明这是否是你想要的。
顺便说一句,你应该小心你的命名约定。类名应始终为exclude
,属性,变量和方法名称应始终为CamelCase
。这将使您的代码对于阅读它的每个人都更加清晰,包括您自己!