モデルフォームがあり、データベースからselectオプションを設定するためのドロップダウンを取得しようとしています。モデルフォームのgroup_byにクエリ結果を取得し、selectに配置します
マイモデルフォームは次のようになります。
class CreateTripsForm(forms.Form):
start_locations = Mileage.objects.values('start_location').annotate(num_locations=Count('start_location')).order_by('start_location')
end_locations = Mileage.objects.values('end_location').annotate(num_locations=Count('end_location')).order_by('end_location')
starting_location = forms.ModelChoiceField(queryset=start_locations, empty_label=None)
ending_location = forms.ModelChoiceField(queryset=end_locations, empty_label=None)
選択オプションがありますが、彼らは私が後だ何でない結果を与えます。このような選択一見のオプション:私はこれを実現するために、いくつかの異なる方法を試してみたが、私は、私は「感じ
Location A
Location B
Location C
:
{'start_location': 'Location A', 'num_locations': 27}
{'start_location': 'Location B', 'num_locations': 27}
{'start_location': 'Location C', 'num_locations': 27}
私はちょうどのみに表示を選択したいです私は何かを逃した。
編集:
マイレージ・モデルは、次のようになります。
class Mileage(models.Model):
miles = models.DecimalField(max_digits=8, decimal_places=1)
start_location = models.CharField(max_length=255)
end_location = models.CharField(max_length=255)
user_id = models.IntegerField(null=True)
def __str__(self):
return self.miles
と何をしようとしているの
ModelForm
をクエリセットでvalues
を使用するか、または使用しないでください?そのコードを投稿してください。 2つの選択フィールドがあることを伝えます。 – Exprator私はいくつかの試みをうまくやったことがありません。本質的にこのコードだけを少し変更しただけで、最終的に無駄なことが判明する小さな変更です。 – Hanny
ちょうど私に事を教えて、2つのフィールドは2つの異なる結果を持っていますか? {'start_location': 'Location A'、 'num_locations':27}これは1つのフィールドに対して全体的に表示されますか? – Exprator