2016-04-05 17 views
0

ilk elemanını kullanarak bu gibi niteliklerin:Django modeli seçimler: Ben seçenekleriyle modele sahip tuple

commonness_choices = (
    ("1", "very uncommon"), 
    ("2", "uncommon"), 
    ("3", "common"), 
    ("4", "very common"), 
) 

class Event(models.Model): 
    commonness = models.CharField(max_length=30, choices=commonness_choices) 

ben views.py içinde Event.commonness kullanmayı deneyin, her seçim ikinci öğesini kullanır tanımlama grubu. Eğer bunu yaparsam Örneğin,:

event = Event.objects.get(pk=1) 
event.commonness = "uncommon" 

event.commonness ("nadir" "2",) olarak ayarlanır. Event.commonness kullanıldığında, ikinci elementi, "2" yerine ilk eleman yerine "nadir" kullanır. Tuple'ın ilk elemanını seçmek ve kullanmak için bir yol var mı? Farklı durumlarda tuple'ın ilk elemanını ve ikinci elemanını kullanmak istiyorum. Örneğin

class Event(models.Model): 
    VERY_UNCOMMON = 0 
    UNCOMMON = 1 
    COMMON = 2 
    VERY_COMMON = 3 

    COMMONNESS_CHOICES = (
     (VERY_UNCOMMON, _('Very Uncommon')), 
     (UNCOMMON, _('Uncommon')), 
     (COMMON, _('Common')), 
     (VERY_COMMON, _('Very Common')), 
     (CANCELED, _('Canceled')), 
    ) 
    commonness_choices = models.IntegerField(
     choices=COMMONNESS_CHOICES, default=VERY_UNCOMMON) 

, numarayı aramak istediğinizde, sen Event.VERY_UNCOMMON yapabilirsiniz: Ben kurulum olur böyle seçenekleriniz

+0

= o zaman bu event.commonness denemek 1'e kadar değiştirmek isterseniz değeri 2 ile kaydedilmiş nesne gibi '1' event.save() – AlmasK89

+0

I ("2", "nadir seçiminde demek görünüyor ")," nadir "yerine" 2 "yi nasıl kullanırım? event.commonness "uncommon" değil, "2" değil – eun9312

+1

Lütfen ilk önce nesneyi nasıl ayarlayacağınızı gösterin. –

cevap

0

Kodu değiştirdikten sonra event.commonness öğesi "2" olarak ayarlanmış ve tuple'ın ikinci öğesini görüntülemek için event.get_commonness_display() işlevini kullandı. Ve istediğim gibi çalışıyor. Yorumlarda yardımcı olduğunuz için teşekkür ederiz!

0

. Bu 0 (ilk öğe) döner.

Bu mantıklı mı?

İlgili konular