Zdar,
pouzivam podla typu/mnozstva hodnot/zaznamov, bud integer alebo 1-2 znaky.
V kode potom doporucujem pouzivat nieco taketo:
PRIVACY_TYPE_PRIVATE = 0
PRIVACY_TYPE_FRIENDS = 1
PRIVACY_TYPE_PUBLIC = 2
PRIVACY_CHOICES = (
(PRIVACY_TYPE_PRIVATE, "private"),
(PRIVACY_TYPE_FRIENDS, "friends"),
(PRIVACY_TYPE_PUBLIC, "public"),
)
Roznych choices je po aplikacii obvykle viacej a lustit to v kode nie je
zrovna prijemne. Takto je z nazvu hned jasne o co ide a aj pripadna uprava
hodnoty nie je taka bolestiva.
Martin
S pozdravom,
Martin Tiršel,
tel.:
+421 948 199 406 (O2 SR)
+420 776 790 511 (Vodafone CR)
2014-11-12 22:52 GMT+01:00 Martin Kubát <[email protected]>:
> Ahoj.
> V COEXu to pouzivame podobne jako ty. Jen nedavame jako prvni nulu ale
> jednicku. Duvodem je "if privacy:"...
>
> Dalsi argument pro cisla muze byt moznost řadit (ruzne levely v choices,
> kde by razeni dle znaku bylo nesmysl), lepsi prace s db indexem (flame?) a
> asi jista normalizace dat.
>
> Martin Kubát
> Dne 12.11.2014 22:21 "yedpodtrzitko" <[email protected]> napsal(a):
>
> Hola,
>> zajimalo by me, jak implementujete choices u db fieldu. Jsem zvykly
>> pouzivat IntegerField, ktery vypada napriklad takhle:
>>
>> PRIVACY_CHOICES = (
>> (0, "private"),
>> (1, "friends"),
>> (2, "public"),
>> )
>>
>> class Dashboard(models.Model):
>> privacy = models.IntegerField(_("Dashboard privacy"), choices=
>> PRIVACY_CHOICES)
>>
>> Pri CR me kolega osocil, ze je to zbytecna optimalizace a mel bych tam
>> sypat primo ty stringy, jinak ze v databasi nebudu mit kontext, co ktera
>> ciselna hodnota znamena.
>>
>> Jakym zpusobem implementujete choices vy a co si myslite o jeho vyse
>> uvedenych argumentech?
>>
>> _
>>
>> --
>> --
>> 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].
>> 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].
> 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].
Další možnosti najdete na adrese https://groups.google.com/d/optout.