2016-03-20 13 views
0

Şimdi Veritabanı seçimler

class RegistrationForm(forms.Form): 
    Type = forms.ModelChoiceField(
      widget=forms.RadioSelect(
       attrs=dict(required=True, 
          render_value=False) 
      ), 
      queryset=Person.objects.values('user_type') 
     ) 

Şimdi, ben bu modeli ve bu formu istemek gelmiş

class Person(models.Model): 
    user = 'US' 
    training_center = 'TC' 
    instructor = 'IN' 
    USER_TYPE_CHOICES = (
     (training_center, 'Training center'), 
     (instructor, 'Instructor'), 
     (user, 'User'), 
    ) 
    user_type = models.CharField(max_length=2, choices=USER_TYPE_CHOICES, default=user) 

forms.py o models.py gibi tercihlerle bir modeli alanı var modeldeki seçimlerle birlikte bir radyo düğmesi belirir: eğitim merkezi, eğitmen, kullanıcı, Seçimlerin veritabanından değerleri nasıl almasını sağlayabilirim ve bunu yapmanın başka bir yolu varsa, bundan bahsedebilir ve bana yardım edebilir

cevap

1

Yalnızca Person modelinizde tanımlanan seçeneklerin RegistrationForm içinde görünmesini istiyorsanız, bunu ModelChoiceField olmadan yapabilirsiniz.

Person model seçenekleri ile ChoiceField kullanın. senin forms.py olarak

:

class RegistrationForm(forms.Form): 
    user_type = forms.ChoiceField(choices=Person.USER_TYPE_CHOICES) 
+0

tamam teşekkürler ama nasıl bu seçim cevabını alabilirim?! –

+0

Ne _answer of choice_ tarafından kastediliyorsunuz? – v1k45

+0

Şimdi 3 seçeneğim var, o zaman ABD'yi seçerse o zaman onu bir sayfaya yönlendiririm ve eğer TC o zaman başka bir sayfa ise, bunun gibi bir şey. Bunu nasıl bilebilirim? –

İlgili konular