Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 15th, 2012  |  syntax: None  |  size: 1.57 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Integrity error in django form saving
  2. class Rule(models.Model):
  3.     Ruleinfo = models.CharField(max_length=5,null=False)
  4.     Ispname  = models.CharField(max_length=5,null=False)
  5.     priority = models.ForeignKey('Priority',related_name ="priority1")
  6.     From  =    models.IPAddressField(null=True)
  7.     To = models.IPAddressField(null=True)
  8.     def __unicode__(self):
  9.         return u'%s %s %s %s %s %s %s %d' % (self.Ruleinfo, self.Ispname, self.priority,
  10.                                       self.From, self.To)
  11.  
  12.  
  13. class Priority(models.Model):  
  14.     priority =  models.IntegerField(null = True)
  15.     ispname = models.ForeignKey('Rule' ,related_name="ispname1")
  16.     rule = models.ForeignKey('Rule',related_name="rule1")
  17.        
  18. class RuleInfoForm(ModelForm):
  19.      Ruleinfo = forms.CharField(max_length=5)  
  20.      Ispname  = forms.CharField(max_length=5)
  21.      priority = forms.IntegerField()
  22.      From  =       forms.IPAddressField()  
  23.      To    =       forms.IPAddressField()
  24.      class Meta:
  25.         model = Rule
  26.         fields = ("Ruleinfo","Ispname","priority","From","To")
  27.        
  28. def multiwanrule_info(request):
  29.     data = {}
  30.     try:
  31.        form = RuleInfoForm(request.POST)
  32.     except:
  33.         pass
  34.     if form.is_valid():
  35.         rl_frm = form.save(commit=False)
  36.         rl_frm.save()
  37.     else:
  38.  
  39.         form = RuleInfoForm()
  40.         data['form'] = form    
  41.     return render_to_response('networking.html',data)
  42.        
  43. networking_rule.priority_id may not be NULL
  44.        
  45. rl_frm = form.save(commit=False)
  46.  rl_frm.save()
  47.        
  48. r1_frm.priority.pk = 1 # some primary key to a valid Priority object
  49.  r1_frm.save()