したがって、モデルCar
の外部キーで呼び出されるManufacturer
モデルがあります。CarCharacterisitcs
の外部キーを持つモデルもありCar
ます。
コードは次のようになります。
class Car(models.Model):
idcar = models.AutoField(primary_key=True)
manufacturer = models.ForeignKey(Manufacturer, null=True, blank=True, on_delete=models.SET_NULL)
name = models.CharField(max_length=765)
class Manufacturer(models.Model):
idmanufacturer = models.AutoField(primary_key=True)
name = models.CharField(max_length=765)
class CarCharacteristics(models.Model):
idcar_characteristics = models.AutoField(primary_key=True)
car = models.ForeignKey(Car, on_delete=models.PROTECT)
を追加できるページを作っていますCarCharacteristics
。
これは私のフォームとビューです:
class CarCharacteristicsForm(ModelForm):
class Meta:
model = CarCharacterisitics
def add_car_characteristics(request):
if request.method == 'POST':
car_char_form = CarCharacterisiticsForm(request.POST)
if car_char.is_valid(:
car_char_form.save()
return HttpResponseRedirect('/cars/car-characterisitcs')
else:
car_char_form = CarCharacterisiticsForm()
return render(request, 'car_characteristics/add_car_characteristics.html',{'car_char_form': car_char_form,})
私のhtmlページには、これがあります:
<h1>Car Characteristics</h1>
<form action="." method="POST">
{% csrf_token %}
<table id="characteristics_table">
<tr>
<td>
<table id="car_characterisitcs_table">
<td>{{ char_char_form.as_table }}</td>
</table>
</td>
</tr>
</table>
<p><input type="submit" value="Submit"></p>
</form>
このフォームが表示されると、考えられるすべてのCar
モデルを含むドロップダウン選択フィールドが表示されます。私が欲しいのは、2つの選択フィールドを持つことです。最初に を選択できるようにしてから、2 番目にそのメーカーManufacturer
のすべての可能性を表示できるようにします。Cars
次に、フォームを送信すると、Car
選択した がCarCharacterisitcs
モデルの外部キーに割り当てられます。
Advance Auto Partsを見に行くと、「あなたの車」をクリックすると、それが私が欲しいものです。それ、どうやったら出来るの?