Díky moc za informace.
No, nepůjde mi to tak rychle, jak jsem si myslel.
V ORM API (nebo jak mám ten jazyk nazývat?) je to asi fakt symetrické, a 
slouží to (jestli jsem vás dobře pochopil) jako zkratka, aby nebylo potřeba 
zařazovat (v reálu ovšem vždy existující) vazební tabulku.
Bezva.

Ale v adminu mi to moc symetrické nepřijde a ani podobné jedno druhému.

Bez through=.. se zobrazí Select prvek, ale jen na jedné straně vazby, na 
té, kde je definováno ManyToManyField (našel jsem nějaký 5 let starý 
článek, jak ho přidat i na druhou stranu, a po nějakém úsilí ho doplnil pro 
py36/dj20 a zobecnil).

S through=.. se mi Select nezobrazí vůbec, a při pokusu ho přidat pomocí 
explicitního seznamu fields=[.., ..] řve System Check, že to nelze.
Tak nevím, jestli je to vůbec přidatelné, nebo to vůbec nelze udělat. Pokud 
to přijatelné je, tak asi přidáním extra datových managerů k modelům na 
první i druhé straně (?).

No, upřímně, čekal jsem, že to nebude taková dřina, a že v roce 2018 je to 
už trochu dále.
Když třeba budu mít knihu, je schéma (více autorů : více knih) úplně jasná 
věc, a zároveň je autor (resp. autoři) hlavním údajem knihy. Takže pod 
autorem mohu uživatelovi promítnout knihy v Inlinu, ale pod knihou promítat 
autory v Inlinu (a ne v Selectu na hlavní záložce) je prostě šílené.
Tak až zas zbyde nějaký čas, budu se dál snažit...




Dne středa 13. prosince 2017 11:31:23 UTC+1 MirekZv napsal(a):
>
> Nemohl byste mě někdo navést?
> Na všechno o Djangu jsou milióny textů, ale zrovna o tomhle toho je 
> minimum a nemůžu najít nic dobrého.
>
> Napřed jsem ani nevěděl, že je nějaká extra podpora (kromě Inlinů v 
> Adminu) a myslel jsem, že prostě do modelu přidám vazební tabulku 
> (minimalisticky se 2 cizími klíči).
>
> Pak jsem zjistil, že existuje v modelu ManyToManyField a sice ve 2 
> vzájemně nekompatibilních verzích:
> bez through=...
> s through=... (ten mi v Adminu negeneruje widget; dělám něco blbě nebo to 
> tak má být?)
>
> Obě pracují s vazební tabulkou, jen ve druhém případě k ní dělám model 
> vazební tabulky ručně.
> A jak se tedy varianta s through= liší od toho, když udělám jen tu vazební 
> tabulku a pole ManyToManyField nepoužiju?
>
> Mate mě taky to, že m:m relace není nahlížena symetricky, ale že si mám 
> vybrat jen jednu z těch dvou tabulek a do ní ManyToManyField přidat.
> API pro výběr je (prý) sice stejné, ale v té druhé tabulce nebudu mít 
> příslušný widget.
>
> Otázka tedy je:
> Kterou variantu si mám vybrat a proč?
>
> Nejde mi o jednoduchý příklad HlavniTabulka>=<Tagy - to chápu, že tam se 
> hodí ta easy varianta bez through,
> ale o složitější datová schémata s možností dlouhodobé udržitelnosti a 
> rozvoje (zesložitění schématu).
>
> Díky za případné nasměrování ....
>
>

-- 
-- 
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/a766353f-ccf5-4177-aebc-eaef82d3812d%40googlegroups.com.
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to