假设我有一个模型车有一个现场品牌和一个模型所有者有两个字段:名称和car_brand,而后者应该是一个Car实例品牌。我需要一个表单,用户可以看到一个文本字段名称和一个下拉选择选项,其中包含Car实例的所有品牌名称。我将如何实现这一目标?Django模型选择选项,填充其他模型实例的字段
这是我开始的代码。随时纠正。谢谢。
models.py
from django.db import models
class Car(models.Model):
brand = models.CharField(max_length=20)
class Owner(models.Model):
name = models.CharField(max_length=20)
car_brand = models.ForeignKey(Car)
forms.py
from django.forms import ModelForm, TextInput, Select
from app.models import Owner
class OwnerForm(ModelForm):
class Meta():
model = Owner
fields = ("name", "car_brand")
widgets = {
"name" : TextInput(attrs={"class" : "name"}),
"car_brand" : Select(attrs={"class" : "car_brand"}),
}
你为什么重写小部件?默认的模型形式会给你你想要的东西。 –
我需要为每个字段定义类属性。 – jazzblue
另一个问题是:它如何知道从汽车中挑选“品牌”字段进行选择时,models.ForeignKey(Car)未指定要选择的字段? – jazzblue