最近私のフォームにChoiceFieldを追加しましたが、現在は常に無効です。私はこれを 'print(form.is_valid())'で検証しました。私のテンプレートにはすべてのフィールドが正しく表示され、値は常に渡されているので、フォームが無効として返される理由を判断できません。DjangoフォームはChoiceFieldで常に無効です - 有効な選択肢を選択してください
models.py
class Lead(models.Model):
Company_Name = models.CharField(max_length=180, default="No_Name", blank=True)
Company_ID = models.BooleanField(default=True)
Client_Name = models.CharField(max_length=180, default="No_Name_Provided", blank=True)
Client_ID = models.BooleanField(default=True)
Advertising = models.BooleanField(default=False)
Automotive = models.BooleanField(default=False)
Storage = models.BooleanField(default=False)
Child_Related = models.BooleanField(default=False)
Cleaning = models.BooleanField(default=False)
Coffee = models.BooleanField(default=False)
Computer = models.BooleanField(default=False)
Internet = models.BooleanField(default=False)
Dry_Cleaning = models.BooleanField(default=False)
Education = models.BooleanField(default=False)
Employment = models.BooleanField(default=False)
Financial_Services = models.BooleanField(default=False)
Fitness = models.BooleanField(default=False)
Food = models.BooleanField(default=False)
Eco_Friendly = models.BooleanField(default=False)
Hair_Care_Beauty_Salon = models.BooleanField(default=False)
Health = models.BooleanField(default=False)
Nutrition = models.BooleanField(default=False)
Home_Services = models.BooleanField(default=False)
Maintenance = models.BooleanField(default=False)
Management = models.BooleanField(default=False)
Training = models.BooleanField(default=False)
Miscellaneous = models.BooleanField(default=False)
Pack_and_Mail = models.BooleanField(default=False)
Pet_Related = models.BooleanField(default=False)
Print_Copy = models.BooleanField(default=False)
Real_Estate = models.BooleanField(default=False)
Repair_Restoration = models.BooleanField(default=False)
Retail = models.BooleanField(default=False)
Senior_Care = models.BooleanField(default=False)
Sports = models.BooleanField(default=False)
Tanning_Salon = models.BooleanField(default=False)
Travel = models.BooleanField(default=False)
Vending = models.BooleanField(default=False)
Home_Based = models.BooleanField(default=False)
Investment_Level = models.CharField(max_length=2, choices=CATEGORIES, default=CATEGORIES[0])
forms.py
class FormForReq(forms.Form):
Company_Name = forms.CharField(max_length=180, required=False)
Client_Name = forms.CharField(max_length=180, required=False)
category = forms.BooleanField(initial=False, required=False)
From_Home = forms.BooleanField(initial=False, required=False)
Advertising = forms.BooleanField(initial=False, required=False)
Automotive = forms.BooleanField(initial=False, required=False)
Storage = forms.BooleanField(initial=False, required=False)
Child_Related = forms.BooleanField(initial=False, required=False)
Cleaning = forms.BooleanField(initial=False, required=False)
Coffee = forms.BooleanField(initial=False, required=False)
Computer = forms.BooleanField(initial=False, required=False)
Internet = forms.BooleanField(initial=False, required=False)
Dry_Cleaning = forms.BooleanField(initial=False, required=False)
Education = forms.BooleanField(initial=False, required=False)
Employment = forms.BooleanField(initial=False, required=False)
Financial_Services = forms.BooleanField(initial=False, required=False)
Fitness = forms.BooleanField(initial=False, required=False)
Food = forms.BooleanField(initial=False, required=False)
Eco_Friendly = forms.BooleanField(initial=False, required=False)
Hair_Care_Beauty_Salon = forms.BooleanField(initial=False, required=False)
Health = forms.BooleanField(initial=False, required=False)
Nutrition = forms.BooleanField(initial=False, required=False)
Home_Services = forms.BooleanField(initial=False, required=False)
Maintenance = forms.BooleanField(initial=False, required=False)
Management = forms.BooleanField(initial=False, required=False)
Training = forms.BooleanField(initial=False, required=False)
Miscellaneous = forms.BooleanField(initial=False, required=False)
Pack_and_Mail = forms.BooleanField(initial=False, required=False)
Pet_Related = forms.BooleanField(initial=False, required=False)
Print_Copy = forms.BooleanField(initial=False, required=False)
Real_Estate = forms.BooleanField(initial=False, required=False)
Repair_Restoration = forms.BooleanField(initial=False, required=False)
Retail = forms.BooleanField(initial=False, required=False)
Senior_Care = forms.BooleanField(initial=False, required=False)
Sports = forms.BooleanField(initial=False, required=False)
Tanning_Salon = forms.BooleanField(initial=False, required=False)
Travel = forms.BooleanField(initial=False, required=False)
Vending = forms.BooleanField(initial=False, required=False)
Home_Based = forms.BooleanField(initial=False, required=False)
Investment_Level = forms.ModelChoiceField(queryset=CATEGORIES, required=False)
これは私がを検索し、結果を引っ張ってアイテムやフォームを作成するためのModelFormを使用してオンラインデータベースです。したがって、私は両方の作業が必要です。
EDIT:
私はそれが無効な選択肢を選択して発見しました。これを修正する方法は?
エラー印刷を行うようにしてください: 'プリント(form.errorsを)'とあなたは私たちにこの問題を解決するのに役立つていない多くのものを示しているものあなたが得る –
投稿私たちが見る必要があるものは除外します。唯一のChoiceFieldはInvestment_Levelなので、ここで見てください。明らかにqueryset = CATEGORIESを使用しているので、そのクエリを作成する方法を調べる必要があります。 – shacker
@JahongirRahmonov私はこれを行い、私の問題を解決しました。ありがとう – Kyris