Python 如何在Django中的表中插入信息

Python 如何在Django中的表中插入信息,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,这是我在models.py上的表格 class ItemForm(forms.Form): itemname = forms.CharField(max_length=100) itemwording = forms.CharField(max_length=100) notes = forms.CharField() abundance = forms.IntegerField(max_value=10) collunit = forms.CharFi

这是我在models.py上的表格

class ItemForm(forms.Form):
     itemname = forms.CharField(max_length=100)
    itemwording = forms.CharField(max_length=100)
    notes = forms.CharField()
    abundance = forms.IntegerField(max_value=10)
    collunit = forms.CharField(max_length=50)
    litref = forms.CharField(max_length=100)
    litkey = forms.IntegerField(max_value=10)
    litrefdetail = forms.CharField()
    collcode =  forms.CharField(max_length=15)
    specimenno = forms.CharField(max_length=20)
    speciesid = forms.IntegerField(max_value=10)
    sorder = forms.CharField(max_length=50)
    disabled = forms.BooleanField(required = True)
这是我的观点

 def additem(request):
    from django.db import connection, transaction
    cursor = connection.cursor()
    if request.method == 'POST':
        form = ItemForm(request.POST)
        if form.is_valid():
            itemnameNEW = form.cleaned_data['itemname']
            itemwordingNEW = form.cleaned_data['itemwording']
            notesNEW = form.cleaned_data['notes']
            abundanceNEW = form.cleaned_data['abundance']
            collunitNEW = form.cleaned_data['collunit']
            litrefNEW = form.cleaned_data['litref']
            litkeyNEW = form.cleaned_data['litkey']
            litrefdetailNEW = form.cleaned_data['litrefdetail']
            collcodeNEW =  form.cleaned_data['collcode']
            specimennoNEW = form.cleaned_data['specimenno']
            speciesidNEW = form.cleaned_data['speciesid']
            sorderNEW = form.cleaned_data['sorder']
            disabledNEW = form.cleaned_data['disabled']

            newitem = Item(itemname=itemnameNEW, itemwording=itemwordingNEW, notes=notesNEW, abundance=abundanceNEW, collunit=collunitNEW, litref=litrefNEW, litkey=litkeyNEW, litrefdetail=litrefdetailNEW, collcode=collcodeNEW,specimenno=specimennoNEW, speciesid=speciesidNEW,sorder=sorderNEW,disabled=disabledNEW )
            newitem.save();
            return HttpResponseRedirect('/jalo/')
        else:
            return HttpResponseRedirect('/nojalo/')

    else:
        form = ItemForm()

    return render_to_response('tbl/additem.html', {'form': form})
当我提交表格时,我得到

     IntegrityError at /login/manageitem/additem/
      duplicate key value violates unique constraint "tbl_item_pkey"

我只想使用django在表中插入信息。您发布的数据并不表示问题的根源。上次更改型号时是否清除了数据库并运行了
syncdb

您看到的错误与尝试向列中引入重复值有关,该列必须是唯一的,并且在数据库级别受到约束。您有一个试图用重复的pk值保存的对象

也就是说,你的keyvalueNEW计划根本不是这样做的。您可能希望改用ModelForms