Django 1.7,Python 3.0,Postgresql
感谢您花时间阅读本文,我希望我在这里找不到明显的东西。
为简单起见,我们说我的模型是:
我想使用Admin Actions来:
第一名:选择学生
第二名:创建新的尚未详细填写的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“预填充表单”。正在努力。
答案 0 :(得分: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,)))
我采取了几种方法,这是有效的方法。希望将来对某人(或我自己)有所帮助。