前提・実現したいこと
下記の画像のような形で、頭文字で検索できる索引を作成したいと考えています。
”登録フォーム”を選択する事で、下記画面に遷移します。
この”initial”に対し事前に選択肢を持たしたいのですが、表示されません。
該当のソースコード
models.py
from django.db import models class Initial(models.Model): CHOICE_INITIAL = ((1, "あ"), (2, "い"), (3, "う"),) initial = models.CharField( verbose_name="頭文字", choices=CHOICE_INITIAL, max_length=5,) def __str__(self): return self.initial class Detail(models.Model): class Meta: db_table = "detail" detail = models.CharField( verbose_name="詳細", max_length=200) created_at = models.DateTimeField( verbose_name='登録日', auto_now_add=True,) updated_at = models.DateTimeField( verbose_name="更新日", auto_now=True,) initial = models.ForeignKey( Initial, on_delete=models.CASCADE, null=True,) def __str__(self): return self.detail
forms.py
from .models import Detail,Initial class DetailForm(forms.ModelForm): class Meta: initial = forms.ModelChoiceField(queryset=Initial.objects.all()) model = Detail fields = ('detail','initial',) widgets = {'detail': forms.Textarea(attrs={'rows':4,"cols": 15}),}
views.py
class DetailCreate(CreateView): model = Detail form_class = DetailForm template_name = "app1/detail_create.html" success_url = reverse_lazy("app1:sample")
お聞きしたい事
・外部キーのフィールドは、
forms.pyのwidgetにて、ModelChoiceFieldを使って選択肢
(今回であれば頭文字にあたる”あ”~”う”)を持たす事はできないのか?
・頭文字での索引の作成方法に関して、なにかテンプレートの作成方法があるのか?
以上二点、助言いただければ幸いです。
よろしくおねがいします。
補足情報(FW/ツールのバージョンなど)
python:3.6.1
Django:2.0
回答2件
あなたの回答
tips
プレビュー