🕺
[Django]ModelFormを動的に生成しdictの内容をバリデートして保存する
BlogというModelがあるとして、こんな感じに書くと任意のフィールドを更新できる👊
from django.forms.models import modelform_factory
def update(instance: Blog, data: dict) -> None:
# fields=list(data.keys()) で検証したいフィールドを指定
BlogForm = modelform_factory(Blog, fields=list(data.keys()))
blog_form = BlogForm(data=data, instance=instance)
blog_form.is_valid()
blog_form.save()
Discussion