0

ジャンゴ 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 に答える