Trochu shrnu, co jsem se dověděl.

Asi by pro začátečníka bylo dobré, kdyby trochu znal historii Djanga, která 
předpokládám byla asi takováto (?):

1. Nejdřív se zavedly ForeignKey a nic víc - pro m2m z toho vyplývalo 
obvyklé řešení s vazební tabulkou.

2. Pak někoho napadlo, že když ve vazební tabulce není nic, než 2 cizí 
klíče, tak ManyToManyField by byla hezká zkratka,
včetně toho řešení s definováním na jedné straně (což je zajímavá a asi 
bezva věc - jak píše Hynek).
Udělala se pro to i podpora do základního admin formuláře, ale jen na té 
jedné straně, kde se to definuje.

3. Pak někoho napadlo, že často v té vazební tabulce bude sloupců víc (než 
jen 2 cizí klíče) a udělalo se (s předchozím nepříliš kompatibilní) řešení 
s through=..
Od podpory v základním admin formuláři se upustilo.

Někde časově mezitím vznikly Inliny, což je jistě bezva věc, pro tento účel.

Teď by se asi dalo filozofovat, co dál, nabízejí se dvě věci:
- buď to nechat jak to je, a nechat lidi, ať si nad to dopíšou, co chtějí;
- nebo přikročit k:
4. Prohlásit řešení bez through= za obsolete, zlikvidovat ho v budoucích 
verzích Djanga.
Bylo by to asi trochu bolestné, nicméně veškerá další řešení, která by se 
nad tím dělala (v jednotlivých aplikacích i v nadstavbových balících) by 
byla jednotně koncipovaná.

.... zatím všem vřelé díky ....

-- 
-- 
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].
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/ee405a62-9199-48c4-989c-6b8e4ce6e627%40googlegroups.com.
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to