Loading AUTHORS +2 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,7 @@ answer newbie questions, and generally made Django that much better: phil@produxion.net phil.h.smith@gmail.com Gustavo Picon Michael Placentra II <someone@michaelplacentra2.net> Luke Plant <http://lukeplant.me.uk/> plisk Mihai Preda <mihai_preda@yahoo.com> Loading Loading @@ -342,6 +343,7 @@ answer newbie questions, and generally made Django that much better: jason.sidabras@gmail.com Jozko Skrablin <jozko.skrablin@gmail.com> Ben Slavin <benjamin.slavin@gmail.com> sloonz <simon.lipp@insa-lyon.fr> SmileyChris <smileychris@gmail.com> smurf@smurf.noris.de Vsevolod Solovyov Loading django/db/models/base.py +6 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,12 @@ class Model(object): # attributes we have been given to the class we have been given. if not raw: for parent, field in meta.parents.items(): # At this point, parent's primary key field may be unknown # (for example, from administration form which doesn't fill # this field). If so, fill it. if getattr(self, parent._meta.pk.attname) is None and getattr(self, field.attname) is not None: setattr(self, parent._meta.pk.attname, getattr(self, field.attname)) self.save_base(raw, parent) setattr(self, field.attname, self._get_pk_val(parent._meta)) Loading django/db/models/fields/related.py +1 −0 Original line number Diff line number Diff line Loading @@ -706,6 +706,7 @@ class OneToOneField(ForeignKey): """ def __init__(self, to, to_field=None, **kwargs): kwargs['unique'] = True kwargs['editable'] = False if 'num_in_admin' not in kwargs: kwargs['num_in_admin'] = 0 super(OneToOneField, self).__init__(to, to_field, OneToOneRel, **kwargs) Loading tests/regressiontests/model_inheritance_regress/models.py +15 −0 Original line number Diff line number Diff line Loading @@ -159,4 +159,19 @@ Traceback (most recent call last): ... DoesNotExist: ItalianRestaurant matching query does not exist. # Regression test for #6755 >>> r = Restaurant(serves_pizza=False) >>> r.save() >>> r.id 3 >>> r.place_ptr_id 3 >>> r = Restaurant(place_ptr_id=3, serves_pizza=True) >>> r.save() >>> r.id 3 >>> r.place_ptr_id 3 """} Loading
AUTHORS +2 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,7 @@ answer newbie questions, and generally made Django that much better: phil@produxion.net phil.h.smith@gmail.com Gustavo Picon Michael Placentra II <someone@michaelplacentra2.net> Luke Plant <http://lukeplant.me.uk/> plisk Mihai Preda <mihai_preda@yahoo.com> Loading Loading @@ -342,6 +343,7 @@ answer newbie questions, and generally made Django that much better: jason.sidabras@gmail.com Jozko Skrablin <jozko.skrablin@gmail.com> Ben Slavin <benjamin.slavin@gmail.com> sloonz <simon.lipp@insa-lyon.fr> SmileyChris <smileychris@gmail.com> smurf@smurf.noris.de Vsevolod Solovyov Loading
django/db/models/base.py +6 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,12 @@ class Model(object): # attributes we have been given to the class we have been given. if not raw: for parent, field in meta.parents.items(): # At this point, parent's primary key field may be unknown # (for example, from administration form which doesn't fill # this field). If so, fill it. if getattr(self, parent._meta.pk.attname) is None and getattr(self, field.attname) is not None: setattr(self, parent._meta.pk.attname, getattr(self, field.attname)) self.save_base(raw, parent) setattr(self, field.attname, self._get_pk_val(parent._meta)) Loading
django/db/models/fields/related.py +1 −0 Original line number Diff line number Diff line Loading @@ -706,6 +706,7 @@ class OneToOneField(ForeignKey): """ def __init__(self, to, to_field=None, **kwargs): kwargs['unique'] = True kwargs['editable'] = False if 'num_in_admin' not in kwargs: kwargs['num_in_admin'] = 0 super(OneToOneField, self).__init__(to, to_field, OneToOneRel, **kwargs) Loading
tests/regressiontests/model_inheritance_regress/models.py +15 −0 Original line number Diff line number Diff line Loading @@ -159,4 +159,19 @@ Traceback (most recent call last): ... DoesNotExist: ItalianRestaurant matching query does not exist. # Regression test for #6755 >>> r = Restaurant(serves_pizza=False) >>> r.save() >>> r.id 3 >>> r.place_ptr_id 3 >>> r = Restaurant(place_ptr_id=3, serves_pizza=True) >>> r.save() >>> r.id 3 >>> r.place_ptr_id 3 """}