Ooops,

It should be :

class Derived(Parent):
        ....
        def _pre_save(self):
                do_some_other_things_here
                self.my_method()

Indentation problem ;-)

Laurent

Le Jeudi 9 Mars 2006 14:21, Laurent RAHUEL a écrit :
> Le Jeudi 9 Mars 2006 12:58, bruno desthuilliers a écrit :
>
> Hi,
>
> > hello hello
> >
> > I must be a bit dumb, but I find myself a bit stucked with model
> > subclassing. Here's the problem: how does one call on the superclass
> > method when extending this method in the subclass ? ie:
> >
> > class Parent(meta.Model):
> >   ....
> >   def my_method(self):
> >      do_something_here
> >
> >
> > class Derived(Parent):
> >   ....
> >   def _pre_save(self):
> >      do_some_other_things_here
> >      Parent.my_method(self) # raises NameError, "Parent" is not defined
> >      parents.Parent.my_method(self) # idem, "parents" is not defined
>
> I guess you should do
>
> class Derived(Parent):
>       ....
>       def _pre_save(self):
>       do_some_other_things_here
>       self.my_method()
>
> You just inherit fields and methods from Parent. Your object is not a child
> of Parent but an "extension" of Parent.
>
> Regards,
>
> Laurent.
>
> > Is this a known issue, or I'm I missing something ? FWIW, the method I'm
> > trying to extend is actually _pre_save() - but I don't think it has much
> > to do with this problem..
> >
> > NB : I've solved the problem at hand using a template method pattern as
> > a workaround, but if the bug is - as often - between the chair and the
> > keyboard, please let me know...
> >
> > TIA
>


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to