0

我有课程的模型,课程由几个文件组成(仅存储文件链接,文件未上传到服务器)。文件数量未知,用户可以使用 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 方式进行操作?

4

1 回答 1

1

添加一个额外的模型:

class CourseLink(models.Model):
    course = models.ForeignKey(Course)
    link = models.CharField(max_length=255)

# Add a course link
CourseLink.objects.create(course=course, link='http://www.google.nl')

# Add another course link
CourseLink.objects.create(course=course, link='http://www.stackoverflow.com')
于 2012-04-03T15:02:06.063 回答