首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将的值保存到django中的外键时出现IntegrityError错误

将的值保存到django中的外键时出现IntegrityError错误
EN

Stack Overflow用户
提问于 2012-06-04 18:40:24
回答 1查看 986关注 0票数 0

嘿,朋友们,我在保存我的视图时遇到完整性错误,.Please告诉我我做错了什么

这是我的django模型

代码语言:javascript
复制
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)

我的模型表单看起来像这样。

代码语言:javascript
复制
class RuleInfoForm(ModelForm):
      class Meta:
        model = Ruleinfo
        fields = ("rule","From","to") 

这是我的views.py

代码语言:javascript
复制
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)

我得到了上面的错误

代码语言:javascript
复制
networking_priority.Ruleno_id may not be NULL 

帮帮我好让我重回正轨。

EN

回答 1

Stack Overflow用户

发布于 2012-06-04 20:31:18

代码语言:javascript
复制
rule_object = Ruleinfo()

这只是实例化了一个新的模型对象。它不会被保存或指定值。因为它没有保存,所以它没有id值。

分配您的CISP值: rule_object、from、to、priority和CISP值,应该可以解决您的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10879948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档