这个问题是与此相关的一个验证上一个选择框,其内容通过Ajax调用
Remove all the elements in a foreign key select field
我在我的模型外键的字段,它是越来越添加失败预填充其数据,我希望选择列表为空。我确实做到了,但我提交表单时验证失败。
错误说“选择一个有效的选择,选项1是不是可用选项之一)。
这是我的模型
class RecipeIngredient(models.Model):
recipe = models.ForeignKey(Recipe)
ingredient = models.ForeignKey(Ingredient)
serving_size = models.ForeignKey(ServingSize)
quantity = models.IntegerField()
order = models.IntegerField()
created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True)
class RecipeIngredientForm(forms.ModelForm):
serving_size = forms.ChoiceField(widget=forms.Select())
class Meta:
serving_size = forms.ChoiceField(widget=forms.Select())
model = RecipeIngredient
fields = ('ingredient', 'quantity', 'serving_size')
widgets = {
'ingredient': forms.TextInput(attrs={'class' : 'recipe_ingredient'}),
'quantity': forms.TextInput(),
'serving_size' : forms.Select(attrs={'class' : 'ddl'}),
}
我在第三行得到一个错误
recipeIngredients = models.RecipeIngredientFormSet(request.POST)
print(recipeIngredients.errors)
objRecipeIngredients = recipeIngredients.save(commit=False)
我希望选择框为空,因为它通过ajax调用填充任何想法该怎么做模型通过验证?
编辑
份量型号
class ServingSize(models.Model):
name = models.CharField(max_length = 255)
unit = models.CharField(max_length = 125)
food_group = models.ForeignKey(FoodGroup)
created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True)
objects = models.Manager()
dal_objects = ServingSizeManager()
def __unicode__(self):
return self.name;
如果我这样做,那么我将如何设置serving_size字段?我正在使用inlineformset_factory。我对此有点新,谢谢。 – iJK 2010-08-03 01:42:39
发布您的ServingSize型号代码,我们会尝试一下。 – chefsmart 2010-08-03 03:34:45
是不是,谢谢。 – iJK 2010-08-03 04:22:28