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