0

私は 'Student' と 'Abc' の 2 つのモデルを持っています。

class Abc(models.Model):
    student = models.ForeignKey(Student)
    name = models.CharField(max_length=10)
    nickname = models.CharField(max_length=20)

ClassAbcForm(forms.ModelForm):
    class Meta:
        model = Student
        fields = ('name', 'nickname')  # Note that I didnt include student field.

ビューを介して入力できるため、「学生」フィールドは含めませんでした。
ユーザーは「名前」フィールドと「ニックネーム」フィールドだけを入力する必要があります。そのため、Meta クラスの「フィールド」を設定して、フォームに表示されるフィールドのみを含めました。

ビューで以下のように試しました:

student = student_instance
student_id = id

しかし、エラーが発生しました。

フォームのフィールドに「学生」を追加すると、正常に機能します。解決策は何ですか?

4

1 に答える 1

0
ClassAbcForm(forms.ModelForm):
    class Meta:
        model = Abc //should be Abc not Student
        fields = ('name', 'nickname')

def view_name(request):
    student = Student(student_id=student_id) //define first student here
    if request.method == 'POST':
        form = ClassAbcForm(request.POST, instance=student)
        if form.is_valid():
            form.save()

    ................
于 2013-03-14T14:29:47.737 に答える