2017-10-15 12 views
0

の私choiceFieldを見つけることができませんか?Djangoは、私は私のクラスを持っている分野

また、既にmodelに設定されています。モデル自体からそれを得る方法はありませんか?

class Donator(models.Model): 
     class Meta: 
      ordering = ('name',) 

     BLOOD_CHOICES = (
      ('A-','A-'),  ('A+','A+'),  ('B-','B-'),  ('B+','B+'),  ('AB-','AB-'), ('AB+','AB+'), ('O-','O-'),  ('O+','O+'), ('TODOS','TODOS') 
    ) 
+0

を動作するはず

BLOOD_CHOICES = ( ('A-','A-'), ('A+','A+'), ('B-','B-'), ('B+','B+'), ('AB-','AB-'), ('AB+','AB+'), ('O-','O-'), ('O+','O+'), ('TODOS','TODOS') ) class Donator(models.Model): blood_type = models.CharField(choices=STATUS_CHOICES, default=1) class Meta: ordering = ('name',) 

この方法は、フォームでそれを使用するために何かをする必要はありません。特に 'fields'タプルの中に入れる必要はありません。それはまったく意味がありません。それをそこから取り除くだけです。 –

+0

@DanielRosemanそして、私がフォームを呼び出すと、それをビューでどのように使用するのですか?既にそれを削除しようとしましたが、フィールド名は 'field []'の中に入れてください。ドロップダウンではなくフィールド名だけが表示されます – PlayHardGoPro

答えて

0

誤った方法でメタフィールドを使用しています。選択はモデルクラスの外になければなりません。それは、モデル内のフィールド上にある場合、それは

BLOOD_CHOICES = (('A-','A-'),  ('A+','A+'),  ('B-','B-'),  ('B+','B+'),  ('AB-','AB-'), ('AB+','AB+'), ('O-','O-'),  ('O+','O+'), ('TODOS','TODOS')) 
SITUATION_CHOICES = (('Sem Problemas','Sem Problemas'), ('Problemas Momentâneos','Problemas Momentâneos'), ('Problemas Graves', 'Problemas Graves')) 
class DonatorForm(forms.ModelForm): 

      choiceFieldName = forms.ChoiceField(choices = SITUATION_CHOICES, required=True, label = "Situacao do Doador"), 'bloodType', 'observation') 
      class Meta: 
       model = Donator 
       fields = ('name', 'age', 'email','phone','choiceFieldName') 
関連する問題