假設我有一個模型車有一個現場品牌和一個模型所有者有兩個字段:名稱和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