小编Reb*_*Rol的帖子

Django表单不能用ModelChoiceField保存 - ForeignKey

我的网站上有多个表单可以工作并将信息保存到我的PostgreSQL数据库中.我正在尝试创建一个表单来保存我的Set Model的信息:

class Set(models.Model):
    settitle = models.CharField("Title", max_length=50)
    setdescrip = models.CharField("Description", max_length=50)
    action = models.ForeignKey(Action)
    actorder = models.IntegerField("Order number")
Run Code Online (Sandbox Code Playgroud)

Set Form看起来像这样.我正在使用ModelChoiceField从Action模型中提取Action名称字段列表,它在表单上显示为选择下拉列表

class SetForm(ModelForm):

    class Meta:
        model = Set
        fields = ['settitle', 'setdescrip', 'action', 'actorder']
    action = forms.ModelChoiceField(queryset = Action.objects.values_list('name', flat=True), to_field_name="id")
Run Code Online (Sandbox Code Playgroud)

createset的视图如下:

def createset(request):
    if not request.user.is_authenticated():
        return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
    elif request.method == "GET":
        #create the object - Setform 
        form = SetForm;
        #pass into it 
        return render(request,'app/createForm.html', { 'form':form })
    elif "cancel" in request.POST:
        return HttpResponseRedirect('/actions')
    elif request.method …
Run Code Online (Sandbox Code Playgroud)

django foreign-keys save django-models django-forms

3
推荐指数
1
解决办法
1565
查看次数

标签 统计

django ×1

django-forms ×1

django-models ×1

foreign-keys ×1

save ×1