0

Django 1.7、Python 3.0、Postgresql

感谢您花时间阅读本文,我希望我在这里遗漏了一些明显的东西。

为简单起见,假设我的模型是:

  • 学生
  • 学术班

我想使用管理员操作来:

第 1 次:选择学生
第 2 次:创建新的尚未填写详细信息的 AcademicClass,并附加以前附加的学生

添加actions = [make_new_academic_class]和链接到该页面非常简单,但是对于如何将查询集附加到新的 AcademicClass 上,我完全感到困惑。

    students = ManyToManyField('mgmt.Student', related_name='classes')

我相信我的一切都是正确的,除了这一部分:

def make_new_academic_class(modeladmin, request, queryset):
for stdnt in queryset:
    print(stdnt.id)  #obviously want to save this somehow
                     #then want to insert it in the AcademicClass-Student relationship
return redirect("/school/class/add")

更新

被告知最好的方法是使用 Django API “预填充表单”。正在努力。

4

1 回答 1

0

好的,所以我想通了:

def make_class(modeladmin, request, queryset):
    new_class = Class()
    new_class.save()
    for student in queryset:
        new_class.students.add(student.id)
    return redirect(reverse('admin:mgmt_class_change', args=(new_class.id,)))

我对此采取了几种方法,这是行之有效的方法。希望将来对某人(或我自己)有所帮助。

于 2015-03-24T17:46:24.573 回答