Zdar,
poslední dobou chodím kolem dokola stále stejného problému:

a) mám určitá data, která se mění opravdu vyjímečně… klidně bych je mohl mít 
někde v settings
b) potřebuju je mít v DB, protože se snadněji řeší relations
c) závisí na nich chod aplikace — musím pravidelně ověřovat, jeslti tam jsou a 
případně je obnovit
d) potřebuji je překládat do více jazyků

Příklady:
- django.sites
- auth tokeny (django-allauth)
- šablony emailů
- atributy produktů, atp

ad a, b) Zkoušel jsem ty data hodit i mimo db a přiřazovat je objektům pomocí 
comma separated fieldů, ale pak na to potřebuji navazovat další věci a už to 
začíná být moc komplikované. Klasické relace vyhrávají.
ad c) Dřív to “řešili” initial data, která se načetly po každém syncdb. Upravil 
jsem si vlastní skript, který obnovil do výchozího nastavení pouze ty data, 
která chybí (podle primary/unique klíče). Těd jsou nové migrace, takže 
initial_data odpadají (provedou se jen jednou při spuštění migrace).
ad d) Není problém, jak to nacpat do databáze. Problém je synchronizace 
překladů s centrálním úložištěm, ať už je to služba typu transifex nebo .po 
soubory. Nemůžu pořád myslet na to, že část webu je přeložená na jedno místě a 
zbytek v databázi.


Řešíte to nějakým elegantním způsobem?

Jediné co mě napadá udělat si vlastní appku, říct jí které modely obsahují 
“statická” data a ty pak a) synchronizovat s překlady, b) kontrolovat, jestli 
obsahují všechny data, která potřebuji. Ale znáte to. Nová appka = spousta 
práce a možná existuje jiné, lepší řešení :)

Tom



-- 
-- 
E-mailová skupina [email protected]
Správa: http://groups.google.cz/group/django-cs

--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete 
e-mail na adresu [email protected].
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to