You will need to save the A object first. What you can do is override the save method for B model. In the function, check for which argument in *args is an A object. When found, call the super method for A's default save method then call the super method for B's default save method. That should work just fine. I haven't tried it but I believe it would work. I'm an accountant and there's a lot of work on my table right now but I could find time during break to try algorithm and tell you if it works
On 8/23/11, ernando <dmitry.home...@gmail.com> wrote: > Hi all, > > maybe it's newbie question but I wasn't able to find clear answer/ > solution on it. > > For example, we have the following models: > > class A(models.Model): > id = models.AutoField(primary_key=True) > title = models.CharField(max_length=30) > > class B(models.Model): > id = models.AutoField(primary_key=True) > title = models.CharField(max_length=30) > aItems = models.OneToOneField(A) > > And try to save them in the following way: > > a = A(title="123") > b = B(title="333", aItems = a) > b.save() > > This code runs with the error: (1364, "Field 'aItems_id' doesn't have > a default value") > if I firstly save a object - everything goes smoothly. So, the > question is - should we always save all related objects manually? > According to django docs we have to create object at first. But that's > now always convenient - e.g. I receive full model from the 3rd part > service and want to save it into DB with one call and not do it for > each item. > > Regards, > Dmitry > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- Sent from my mobile device -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.