DjangoのModelのFieldにコード上で値をセットしたい
DBに画面のフィールドで入力する以外の値も入れたいです。
それができればModelのFieldに値をセットする必要はありません。
発生している問題・エラーメッセージ
「board_info_id 」フィールドに値がセットできません。
該当のソースコード
Python
1#Model側 2class Posts(models.Model): 3 4 #Metaとかobjectとかはおまじない 5 class Meta(object): 6 #作成されるテーブル名を指定 7 db_table = 'posts' 8 9 #カラム名=データの形式(管理画面に表示される名前,その他の制約) 10 id = models.IntegerField(verbose_name='ID',primary_key=True) 11 name = models.CharField(verbose_name='名前',max_length=30) 12 text = models.CharField(verbose_name='本文', max_length=255) 13 created_at = models.DateField(verbose_name='作成日', default=timezone.now) 14 board_info_id = models.IntegerField(verbose_name='board_id') 15 16 17 #管理画面に表示されるように設定(おまじない) 18 def __str__(self): 19 # template = '{0.text} {0.created_at}' 20 # return template.format(self) 21 return self.text, self.created_at, self.name 22 23#View側 24 def post(self, request, board_info_id, **kwargs): 25 # formに書いた内容を格納する 26 form = PostForm(request.POST) 27 # ★★★ここでboard_info_id に値を入れたいです。nameフィールドとtextフィールドにはすでに値がセットされています★★★ 28 form.board_info_id =//// 29 post = form.save(commit=False) 30 # 保存 31 post.save() 32 # indexのviewに移動 33 return redirect(to='BulletinBoard:posts')
試したこと
ModelのFieldに値をセットできるプロパティやメソッドがあるか探しました
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/07 14:11
2020/05/07 15:10