将的值保存到django中的外键时发生IntegrityError错误
嘿,伙计们,我在保存我的视图时遇到了完整性错误。请告诉我我做错了什么 这是我的django模型将的值保存到django中的外键时发生IntegrityError错误,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,嘿,伙计们,我在保存我的视图时遇到了完整性错误。请告诉我我做错了什么 这是我的django模型 class Ruleinfo(models.Model): rule = models.IntegerField(null=False) From = models.IPAddressField(null=True) to = models.IPAddressField(null=True) priority = models.ForeignKey('Priority'
class Ruleinfo(models.Model):
rule = models.IntegerField(null=False)
From = models.IPAddressField(null=True)
to = models.IPAddressField(null=True)
priority = models.ForeignKey('Priority',related_name='pri_no')
cisp =models.ForeignKey('Priority',related_name = 'CISP_no')
def __unicode__(self):
return u'%s' %(self.rule)
class Priority(models.Model):
pri = models.IntegerField(null = True)
Ruleno = models.ForeignKey('Ruleinfo',related_name = 'ruleno_no')
CISP = models.IntegerField(null = True)
def __unicode__(self):
return u'%s ' % (self.priority)
我的模型表格看起来像
class RuleInfoForm(ModelForm):
class Meta:
model = Ruleinfo
fields = ("rule","From","to")
这是我的观点
def multiwanrule_info(request):
data = {}
no_of_isp = MultiWAN.objects.all()
try:
form = RuleInfoForm(request.POST)
except:
pass
print "----------------------------printing form"
print form
if form.is_valid():
rl_frm = form.save(commit=False)
get_priorities = request.POST.getlist('priority')
get_cisp_info = request.POST.getlist('cisp')
rule_object = Ruleinfo()
for get_pri,get_ci in zip(get_priorities,get_cisp_info,):
pri_object = Priority.objects.get_or_create(Ruleno = rule_object)
pri_object.pri = get_pri
pri_object.CISP = get_ci
rl_frm.save()
else:
form = RuleInfoForm()
data['form'] = form
data['number_of_isp'] = no_of_isp
return render_to_response('networking.html',data)
我得到了上面的错误
networking_priority.Ruleno_id may not be NULL
帮我摆脱困境,这样我就能回到正轨
rule_object = Ruleinfo()
这只是实例化了一个新的模型对象。它不会被保存或指定值。由于未保存,因此它没有id
值
分配规则对象值:规则、自、至、优先级和cisp值应该可以解决您的问题。请联系我以了解任何澄清。我认为您没有得到
规则对象。似乎None