0

我有 2 个模型 'Student' 和 'Abc' 。

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 回答