0

ビューの保存中に整合性エラーが発生しました。何が間違っているのか教えてください

ここに私のジャンゴモデルがあります

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") 

ここに私のviews.pyがあります

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 

軌道に乗れるように助けてください。

4

1 に答える 1

2
rule_object = Ruleinfo()

これは、新しいモデル オブジェクトをインスタンス化するだけです。値が保存されたり、割り当てられたりすることはありません。保存されていないため、id値はありません。

rule_object 値を割り当てると、rule、from、to、priority、および cisp の値が問題を解決するはずです。

于 2012-06-04T12:31:17.787 に答える