Děkuji všem Honzům i ostatním, ano, došel jsem k tomu v noci také. Zůstaneme v Google Tabulkách. Djangem by se to teď velmi zesložiťovalo.
Hlavní záznam bude v jedné tabulce, která se bude po buňkách doplňovat a podzáznamy (kterých se navíc ukázalo může být k jednomu Record víc) se budou přes identifikátor plnit Google Formulářem do další tabulky "odpovědí". Google Formuláře spojené s Tabulkou jsou mimochodem chytře implementované. Když potřebujete přidat v průběhu vyplňování do Formuláře nějaké pole, dodá se nový sloupec na konec tabulky a klidně tam může být i vámi mezitím ručně vytvořený sloupec atp. Až pracovnice data dokončí, tak se to naleje do postgresu. Změn schématu pak už bude minimálně, standardní migrace i datové. Dík za tip na django-appdata, smysl je ze stránky bohužel ale špatně pochopitelný a tak si to jen zasunu do hlavy. V. On 20.3.2016 14:38, Honza Král wrote: > Tohle vypada, ze je tema pro Honzy, tak se take pridam. > > Take bych to neresil pridavanim sloupcu a misto toho sahnul po necem > flexibilnejsim. Ne nutne cele NoSQL ktere by te asi pripravilo o dost > vyhod (viz ten admin), ale treba json field (prihreju si polivcicku s > https://pypi.python.org/pypi/django-appdata) ktere ma nekde ulozene > schema atp. > > Honza > Honza Král > E-Mail: [email protected] > Phone: +420 606 678585 > > > 2016-03-20 13:38 GMT+01:00 Jan Bednařík <[email protected]>: >> Tohle vypadá na ideální projekt pro Google Docs Sheets. Máš tam historii >> změn, flexibilitu ve sloupcích a datových typech, user friendly pro >> neprogramátory, a ty ostatní featury co od toho chceš. Když ta data budeš >> chtít využít i jinde, půjdeš nato přes API. >> >> A co je hlavní, už je to hotové, tak to nemusíš programovat :-) >> >> Honza >> >> 2016-03-20 10:57 GMT+01:00 Jan Češpivo <[email protected]>: >>> Ahoj, nejdriv bych se zamyslel, zda ma vubec smysl pouzit relacni databazi >>> a radeji pouzit nejakou nosql, kdyz tam nejsou zadne vztahy a struktura je >>> navic predem neznama. >>> H. >>> >>> On Mar 19, 2016 9:52 PM, "Vladimir Macek" <[email protected]> wrote: >>>> Rád bych se poradil. >>>> >>>> Situace: >>>> >>>> Představte si, že máte pro nový týmový projekt CSV s 2000+ důležitými >>>> záznamy třeba o 10 sloupcích. Sloupce mají různé datové typy a data se >>>> NEbudou měnit. Ýzy, vytvoříme model Record o 10 sloupcích, data nalejeme, >>>> máme pohodlnou editaci Django adminem atp. >>>> >>>> Jenže, ty záznamy se musejí jeden za druhým projít a provést rešerši, >>>> jednání atp. a výsledky těchto lidských úkonů budete chtít komplet >>>> evidovat, pro jednotlivé záznamy. Najmete na to člověka, což není >>>> programátor a migrace db mu nic neříkají. >>>> >>>> Ale musí mít možnost přidávat nové sloupce a efektivně zapisovat zjištěná >>>> data. Předem nevíte, jaké sloupce to budou. Zjednodušme to, že hodnoty >>>> stačí text. >>>> >>>> Navíc, u některých sloupců potřebujete možnost výběru ze sady >>>> předdefinovaných variant. To aby pracovník nemusel vypisovat pokaždé >>>> text, >>>> jen si rychle vybral z možností a zamezilo se překlepům. Sadu možností má >>>> mít právo rozšiřovat. On se bude spolupodílet na vytváření datového >>>> modelu, >>>> který není předem známý. >>>> >>>> Tento proces má konec. Po skončení prací můžeme Record obohatit o >>>> zjištěné >>>> sloupce migrací. >>>> >>>> Nice to have: Uvítáte možnost zabránit tomu, aby pracovník B nevratně >>>> přepsal údaje uložené pracovníkem A. >>>> >>>> Pozn.: Celkovým výsledkem má být tabulka obohacených záznamů a bude to v >>>> djangovském projektu. Ale proces získávání dat ze světa nemusí probíhat v >>>> Djangu. Jen mi přijde, že při tomto množství záznamů a možnostech Django >>>> admina bude praktické v Djangu rovnou začít a mít rovnou použitelnou >>>> tabulku. >>>> >>>> Nápad na řešení: >>>> >>>> Model Key s charfieldem 'key'. Pracovník bude mít právo přidávat nové >>>> objekty Key a mazat ty, na které nic neodkazuje. RecordAdmin bude mít >>>> oněch >>>> původních 10 read-only fieldů, ale pod ním bude ActivityAdminInline s FK >>>> na >>>> Key. >>>> >>>> Pracovník zjistí nějaký údaj o Recordu. Tak vybere z roletky v inlinu >>>> klíč, >>>> doplní textovou hodnotu a odešle. Případně přidá nový Key ("sloupec"). >>>> >>>> Jak byste řešili tu konkurenci? Mně napadlo znemožnit pracovníkovi >>>> editaci >>>> už odeslaných aktivit a že se za platnou brala jen ta poslední. >>>> >>>> Na takovéty dynamicky přidávané ChoicesFieldy si ale žádné řešení >>>> neuvedomuju. >>>> >>>> Chtěl bych to samozřejmě nahozené rychle s minimem programování a hacků. >>>> Nějaké tipy? >>>> >>>> Díky! >>>> >>>> V. >>>> >>>> -- >>>> -- >>>> 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/56EDBBF7.3080700%40sandbox.cz. >>>> Další možnosti najdete na adrese https://groups.google.com/d/optout. >>> -- >>> -- >>> 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 tuto diskusi zobrazit na webu, navštivte >>> https://groups.google.com/d/msgid/django-cs/CAChT7t9bttNyx9WcnbQr1MYpQ6jnv3L-9cCake9kNtV2qum32w%40mail.gmail.com. >>> Další možnosti najdete na https://groups.google.com/d/optout. >> >> -- >> -- >> 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 tuto diskusi zobrazit na webu, navštivte >> https://groups.google.com/d/msgid/django-cs/CAMmgUkPobTsOEJ3QdNNPT5_xxkCxUFup_zrhd%3D_DoYVqezCPXw%40mail.gmail.com. >> >> Další možnosti najdete na https://groups.google.com/d/optout. -- : Vladimir Macek : http://macek.sandbox.cz : +420 608 978 164 : UNIX && Dev || Training : Python, Django : PGP key 97330EBD : I think my spaceship knows which way to go... -- -- 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/56EEAF16.8060506%40sandbox.cz. Další možnosti najdete na adrese https://groups.google.com/d/optout.
