E-mail Petr Vaněk ze dne Thursday 28 September 2006 16:08: > Hezký sváteční den
Hezký předvíkendový den > v Tutor konferenci jsem objevil zmínku o SqlObject > http://www.sqlobject.org > > O co by mělo jít? Jedná se o moduly, které mapují objekty (tabulky) > databáze do Python tříd. Hezké. > > Zajímalo by mne, estli existuje nějaké reálné využití, a popřípadě jaké s > tím máte zkušenosti. Ošklivé až zlé. > Letmým studiem kódu a zběžným spuštěním mi přijde, že tomu zřejmě > nerozumím. > * Jak se to chová v případě nepodporovaných (?) objektů (view, > procedury...)? Ignoruje to? Jak se ale pak dá s DB pracovat? Obecně mám ze SQLObject dojem, že Bicking používá RDBMS jen proto, že to po něm chtějí klienti a má to jako takový rychlejší pickle s vyhledáváním ,) Nicméně, tohle je prostě obecný tradeoff orm vs práce-přímo-s-daty, tam se moc nedá svítit. > * Opravdu to neuvolňuje paměť když už nechci s instancí tabulky pracovat? Tak tak, ale to je "cache feature" > * Proč je "ID column" vždycky NUMBER s automatickým inkrementem? Popř. jak > se toho zbavím? Nějak se to dá ale je to autorem velmi nedoporučováno. > * Opravdu to tahá všechna data z DB, když nadefinuju třídu nad tabulkou > anebo se mi to jenom zdá? Nezdá. > * Jak se dostanu k plnému znění DB chyby? > > a tak vůbec Jinak rozhodně než SQLObject, který má i pár jiných chybek (neescapuje column a table names apod) doporučuju SQLAlchemy - http://www.sqlalchemy.org/ Já musel řešit předtím než alchemy vzniklo, tak jsem si napsal takový vlastní thin wrapper - http://projects.almad.net/dbclass -, který je ale míň ORM a víc usnadňovač běžné práce pro web (connection pool, schovává connections a kurzory, nedává rows jako atributy ale používá .data slovník apod), nicméně to není tak dovychytané jako tyhle věci + je zatím jenom pro firebird (zatím jsem nepotřeboval použít jinou db ,)) > zdar a sílu > petr vaněk -- Almad
pgpt66yBDTv3s.pgp
Description: PGP signature
_______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
