Djangoを使って取得単位数を計算するアプリケーションを作っています。
models.pyにモデルを作り、フォームを作成中です。
subject(科目)テーブルの情報を基に、それぞれの履修予定・履修済みかどうかを尋ねるフォームが作りたいです。(下図参照)
しかし、現段階では科目名も選択式になってしまっています。
2つのテーブルに情報が分かれているので、それを基に正しくフォームを作りたいです。
どのようにすればよいのでしょうか。
models.py
python
1class Status(models.Model): 2 user = models.ForeignKey( 3 settings.AUTH_USER_MODEL, 4 on_delete=models.CASCADE, 5 ) 6 subject = models.ForeignKey( 7 'Subject', 8 on_delete=models.CASCADE, 9 ) 10 doing = models.BooleanField( 11 default=False, 12 ) 13 done = models.BooleanField( 14 default=False, 15 ) 16 17 18class Subject(models.Model): 19 subject_id = models.IntegerField( 20 primary_key=True, 21 default=None, 22 unique=True, 23 ) 24 subject_name = models.CharField( 25 max_length=30, 26 unique=True, 27 ) 28 credits = models.IntegerField( 29 default=2, 30 ) 31 category = models.ForeignKey( 32 'Category', 33 on_delete=models.SET_NULL, 34 null=True, 35 )
models.py
python
1class SampleForm(forms.ModelForm): 2 class Meta: 3 model = Status 4 exclude = ['user']
views.py
python
1def sample_form(request): 2 sample_form = SampleForm() 3 return render(request, 'calc/sample_form.html', { 4 'sample_form': sample_form, 5 })
sample_form.html
html
1{{ sample_form }} 2<input type="submit" value="送信">
あなたの回答
tips
プレビュー