Python 如何在Django中的表中插入信息
这是我在models.py上的表格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
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