pripadne zakazat vsechno, Mixin pro admin classu :-) class NonEditableMixin: def has_delete_permission(self, request, obj=None): return False
def has_change_permission(self, request, obj=None): return False def has_add_permission(self, request, obj=None): return False can_delete = False On Fri, Feb 19, 2021 at 10:42 AM starenka . <staren...@gmail.com> wrote: > A nastav userum spravne prava na modely > > On Fri, Feb 19, 2021, 10:41 starenka . <staren...@gmail.com> wrote: > >> Nebo si udelej vlastni form na ten inline... >> >> On Fri, Feb 19, 2021, 10:38 Vladimir Linhart <vladimir.linh...@gmail.com> >> wrote: >> >>> nebo >>> >>> readonly_fields >>> >>> >>> On Wed, Feb 17, 2021 at 10:35 PM starenka . <staren...@gmail.com> wrote: >>> >>>> Tak si tam dej raw_id a budes klidne spat :) >>>> >>>> On Wed, Feb 17, 2021, 22:15 MirekZv <mirek.zvol...@gmail.com> wrote: >>>> >>>>> PS: ono tedy i ten Edit je příliš nebezpečný. Nějakej Lojza si to může >>>>> otevřít a přepsat Lenku na Martina. Vždycky jsem si myslel, že při návrhu >>>>> ovládání by měly být odlišeny (a tady by to mělo velké opodstatnění) >>>>> plnokrevná editace od opravy překlepu. >>>>> No ale to bych chtěl moc. >>>>> Nicméně asi bych nejradši všude v adminu znepřístupnil tu editaci i >>>>> rušení (přes ForeignKey odkazovaného) záznamu. >>>>> >>>>> Dokážu to jen tím Javascriptem (což velká věda nebude) nebo to můžu >>>>> někde nastavit? >>>>> >>>>> Dne středa 17. února 2021 v 22:08:54 UTC+1 uživatel MirekZv napsal: >>>>> >>>>>> Podívejte se na obrázek, jsou tam dva inliny a na začátku každého z >>>>>> nich popup s vyplněným jménem Lenka. >>>>>> >>>>>> Jak se ty popupy liší? jeden má "rušící křížek", druhý ho nemá. >>>>>> Jak se liší návrh databáze? Jedno ForeignKey připouští >>>>>> null/blank=True, druhé ho nepřipouští. >>>>>> >>>>>> To null se dá samozřejmě nastavit manipulací popupu pomocí např. myši. >>>>>> >>>>>> Takže nepřekvapuje, že ten křížek dělá něco jiného. >>>>>> Zruší osobu Lenka (s celou soustavou CASCADE deleting záznamů). >>>>>> >>>>>> Když nad tím budeme přemýšlet, nějakou stopu logiky najdeme: >>>>>> V obou případech by mohlo být legitimní osobu Lenka zrušit (i když >>>>>> proč takovou čistku zrovna při add/edit úplně jiného záznamu?). Ovšem ve >>>>>> druhém případě bychom místo té zrušené musely do ForeignKey vybrat >>>>>> nějakou >>>>>> jinou osobu (která už ani nemusí v tabulce být, Lenka může být poslední). >>>>>> >>>>>> Ovšem i když jako programátor tyhle souvislosti nahlédneme, stejně je >>>>>> to trochu příliš překombinované. A jak to má pochopit ubohý uživatel? >>>>>> >>>>>> Neboli se ptám: >>>>>> Jak můžu tuhletu nebezpečnou featuru zakázat? >>>>>> Dokážu to jedině Javascriptem nebo jsem přehlédnul nějaké nastavení? >>>>>> >>>>>> Díky pokud někdo poradí ... >>>>>> [image: broken_integrity.png] >>>>>> >>>>> -- >>>>> -- >>>>> E-mailová skupina django-cs@googlegroups.com >>>>> 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 django-cs+unsubscr...@googlegroups.com. >>>>> Chcete-li tuto diskusi zobrazit na webu, navštivte >>>>> https://groups.google.com/d/msgid/django-cs/f3252964-735b-4d30-bc7c-1618d11c3471n%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/django-cs/f3252964-735b-4d30-bc7c-1618d11c3471n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> -- >>>> E-mailová skupina django-cs@googlegroups.com >>>> 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 django-cs+unsubscr...@googlegroups.com. >>>> Chcete-li tuto diskusi zobrazit na webu, navštivte >>>> https://groups.google.com/d/msgid/django-cs/CA%2B7MNVqSnh53sDOSmixa-cQYDZuH%2BnWa%3DnXTPfYTcz4OuuymMg%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/django-cs/CA%2B7MNVqSnh53sDOSmixa-cQYDZuH%2BnWa%3DnXTPfYTcz4OuuymMg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> -- >>> E-mailová skupina django-cs@googlegroups.com >>> 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 django-cs+unsubscr...@googlegroups.com. >>> Chcete-li tuto diskusi zobrazit na webu, navštivte >>> https://groups.google.com/d/msgid/django-cs/CAFrZPmT6_bG_fp7K9%2BuyBS9YmEkJBxwTG6ENYBc7jeQ9-H6O4A%40mail.gmail.com >>> <https://groups.google.com/d/msgid/django-cs/CAFrZPmT6_bG_fp7K9%2BuyBS9YmEkJBxwTG6ENYBc7jeQ9-H6O4A%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > -- > E-mailová skupina django-cs@googlegroups.com > 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 django-cs+unsubscr...@googlegroups.com. > Chcete-li tuto diskusi zobrazit na webu, navštivte > https://groups.google.com/d/msgid/django-cs/CA%2B7MNVonjBs5%2B%2BjawdReKxN5Oy05Nd-VJj6Ad_uDLpSj2eOOxQ%40mail.gmail.com > <https://groups.google.com/d/msgid/django-cs/CA%2B7MNVonjBs5%2B%2BjawdReKxN5Oy05Nd-VJj6Ad_uDLpSj2eOOxQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- E-mailová skupina django-cs@googlegroups.com 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 django-cs+unsubscr...@googlegroups.com. Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/CAFrZPmQ%3D-iZ9fonMu9HQZ8E7YyDa1C8zSxn9M4qq1PMeenm1DQ%40mail.gmail.com.