[python] SQLObject - úprava parametr? p?i vytvá?ení t?ídy

Jan Jakubuv jakubuv na gmail.com
Pátek Říjen 24 11:38:24 CEST 2008


zdravim,

nemam zkusenosti primo s SQLObject, ale zkusim hadat. Nepomohla by
metoda "__new__"? "__new__" se vola pred "__init__" pro vytvoreni
samotne instance tridy. Viz dokumentace :
http://docs.python.org/reference/datamodel.html#basic-customization

honza.

2008/10/24 Jaroslav Aster <orm na humlak.cz>:
> Ahoj,
>
> rajcze píše v Pá 24. 10. 2008 v 09:05 +0200:
>> class MojeTrida(SQLObject):
>>     def __init__(self, x):
>>        #tady muzes delat co chces pred inicializaci SQLObjectu
>>        SQLObject.__init__(self)
>>
>>
>> snad jsem dobre pochopil, co potrebujes
>
> děkuji za odpověď, ale jak jsem psal definování vlastní metody __init__ nepomůže,
> protože SQLObject používá funkci __init__ jen při prvotním vytvoření objektu. Pokud
> je objekt načten z databáze, tak se metoda __init__ nepoužívá.
>
>
>> 2008/10/23 Jaroslav Aster <orm na humlak.cz>:
>> > Ahoj,
>> >
>> > narazil jsem na takový, spíše estetický problém, který se mi prozatím
>> > nepodařilo vyřešit. Pokud definuji nějakou třídu a dědím od třídy
>> > SQLObject, tak při vytváření objektu z mnou definované třídy nemohu
>> > použít poziční parametry. Uvedu na příkladu.
>> >
>> > class MojeTrida(SQLObject):
>> >        x = IntCol()
>> >
>> > # spravne
>> > MojeTrida(x=1)
>> >
>> > # spatne
>> > MojeTrida(1)
>> >
>> > Definování medoty __init__ u třídy MojeTrida nepomůže, protože
>> > SQLObject, protože SQLObject tam dělá nějakou "magii". Potřeboval bych
>> > paramety upravit ještě před zavoláním __init__. Neměl by někdo nějaký
>> > nápad?
>> >
>> > --
>> > Jaroslav Aster <orm na humlak.cz>
>> >
>> > _______________________________________________
>> > Python mailing list
>> > Python na py.cz
>> > http://www.py.cz/mailman/listinfo/python
>> >
>>
>>
>>
> --
> Jaroslav Aster <orm na humlak.cz>
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>


Další informace o konferenci Python