Model и ModelForm в проекте django определяются следующим образом:
class Consumption(models.Model):
date=models.DateTimeField(default=datetime.now)
product_name=models.ForeignKey(Stock,to_field='product_name')
quantity=models.IntegerField()
customer=models.CharField(max_length=50,null=True,blank=True)
def __unicode__(self):
return self.product_name
class ConsumptionForm(ModelForm):
class Meta:
model=Consumption
def clean_quantity(self):
cleaned_data=self.cleaned_data
product=cleaned_data.get("product_name")
quantity=int(cleaned_data.get('quantity'))
stock=Stock.objects.get(product_name=product)
if quantity > stock.quantity:
raise forms.ValidationError("Not enough stock")
return cleaned_data
, где класс Stock содержит название продукта, которое служит внешним ключом к потреблению и количество которого должно быть больше количества потребления.
Теперь проблема в том, когда я вхожу, отправляю сообщение в ConspositionForm.Это дает мне ошибку в поле количества, поскольку это поле должно быть целым числом даже после того, как я предоставляю ему целое число.
В чем может быть причина этого?