私はコースのモデルを持っており、コースはいくつかのファイルで構成されています(ファイルへのリンクのみが保存され、ファイルはサーバーにアップロードされません)。ファイルの数は不明です。ユーザーはJSを使用してファイルに新しいリンクを追加できます。そして、このリンクは次の形式で編集できます。
次の方法で新しいコースリンクを受け取り、追加します。
links = request.POST.getlist('course-dl-links')
for link in links:
CourseFile.objects.create(
link = link,
course = course
)
そして、編集フォームを動的に生成できます。
class CourseForm(forms.Form):
# fields...
def __init__(self, data = None, *args, **kwargs):
super(CourseForm, self).__init__(data, *args, **kwargs)
files = CourseFile.objects.filter(course__id=data.course_id).all()
for course_file in files:
self.fields['course-dl-links-%d' % (course_file.id, )] = forms.CharField(initial=course_file.path)
しかし、このフォームでフォームを保存することは困難です。Djangoの方法でそれを行う方法は?