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.

Reply via email to