Django

Code

Changeset 8033

Show
Ignore:
Timestamp:
07/21/08 20:10:06 (5 months ago)
Author:
jacob
Message:

Fixed #6755: model inheritance now works in the admin. Thanks, sloonz and Michael Placentra.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/AUTHORS

    r8019 r8033  
    304304    phil.h.smith@gmail.com 
    305305    Gustavo Picon 
     306    Michael Placentra II <someone@michaelplacentra2.net> 
    306307    Luke Plant <http://lukeplant.me.uk/> 
    307308    plisk 
     
    343344    Jozko Skrablin <jozko.skrablin@gmail.com> 
    344345    Ben Slavin <benjamin.slavin@gmail.com> 
     346    sloonz <simon.lipp@insa-lyon.fr> 
    345347    SmileyChris <smileychris@gmail.com> 
    346348    smurf@smurf.noris.de 
  • django/trunk/django/db/models/base.py

    r8007 r8033  
    300300        if not raw: 
    301301            for parent, field in meta.parents.items(): 
     302                # At this point, parent's primary key field may be unknown 
     303                # (for example, from administration form which doesn't fill 
     304                # this field). If so, fill it. 
     305                if getattr(self, parent._meta.pk.attname) is None and getattr(self, field.attname) is not None: 
     306                    setattr(self, parent._meta.pk.attname, getattr(self, field.attname)) 
     307 
    302308                self.save_base(raw, parent) 
    303309                setattr(self, field.attname, self._get_pk_val(parent._meta)) 
  • django/trunk/django/db/models/fields/related.py

    r8017 r8033  
    707707    def __init__(self, to, to_field=None, **kwargs): 
    708708        kwargs['unique'] = True 
     709        kwargs['editable'] = False 
    709710        if 'num_in_admin' not in kwargs: 
    710711            kwargs['num_in_admin'] = 0 
  • django/trunk/tests/regressiontests/model_inheritance_regress/models.py

    r7914 r8033  
    160160DoesNotExist: ItalianRestaurant matching query does not exist. 
    161161 
     162# Regression test for #6755 
     163>>> r = Restaurant(serves_pizza=False) 
     164>>> r.save() 
     165>>> r.id 
     1663 
     167>>> r.place_ptr_id 
     1683 
     169>>> r = Restaurant(place_ptr_id=3, serves_pizza=True) 
     170>>> r.save() 
     171>>> r.id 
     1723 
     173>>> r.place_ptr_id 
     1743 
     175 
     176 
    162177"""}