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.

Reply via email to