Я новичок в Джанго.При попытке сохранить форму mPurchase я получаю ошибку MultipleObjectReturned.Я пытаюсь получить данные из формы, используя запрос POST.Каждый раз, когда я отправляю форму, я получаю сообщение об ошибке.
views.py
def milkPurchase(request):
title='Buy Milk'
milk = mPurchase.objects.all()
if request.method=='POST':
form=mPurchaseForm(request.POST)
if form.is_valid():
m = get_object_or_404(mPurchase)
m.mPurchase_date=timezone.now()
m.save()
return redirect('milk-purchase')
else:
form=mPurchaseForm()
context = {
'title': title,
'form': form,
'milk':milk
}
return render(request,'dairyapp/milk-purchase.html',context)
forms.py
class mPurchaseForm(forms.ModelForm):
"""
This form is for milk purchase
"""
seller=forms.CharField(
label='Seller Name',
max_length=50,
)
mPurchase_product=forms.ChoiceField(
choices=MILK_CHOICES,
label='Milk Type',
initial='',
widget=forms.Select(),
required=True
)
mPurchase_qty=forms.FloatField(
label='Qty'
)
mPurchase_rate=forms.FloatField(
label='Rate'
)
class Meta:
model=mPurchase
fields=('seller','mPurchase_product','mPurchase_qty','mPurchase_rate',)
вот мой models.py
class mPurchase(models.Model):
mPurchase_id=models.AutoField(primary_key=True)
seller=models.CharField(max_length=50)
mPurchase_date=models.DateTimeField(default=timezone.now)
mPurchase_product=models.CharField(max_length=10,choices=MILK_CHOICES)
mPurchase_qty=models.FloatField()
mPurchase_rate=models.FloatField()
def __str__(self):
return self.seller
Не могли бы вы помочь мне пройти через это?Я пытался использовать
mPurchase.objects.filter()
Кроме того, пытался поймать исключение, используя ObjectDoesNotExist и MultipleObjectReturned
from django.core.exceptions import ObjectDoesNotExist,
MultipleObjectsReturned