Below are my codes and I get the error ValueError at /inventory/stock/1/edit
Cannot assign "'1'": "Stock.category" must be a "Category" instance.
in model.py
class Category(models.Model):
name = models.CharField(max_length=100, blank=True, null=True)
def __str__(self):
return self.name
class Stock(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE,blank=True)
item_name = models.CharField(max_length=100, blank=True, null=True)
quantity = models.IntegerField(default='0',blank=True, null=True)
class StockHistory(models.Model):
category = CharField(max_length=100, blank=True, null=True)
item_name = models.CharField(max_length=100, blank=True, null=True)
quantity = models.IntegerField(default='0',blank=True, null=True)
in view.py
def UpdateStock(request, pk):
stock = Stock.objects.get(id=pk)
stock_form = StockForm(instance = stock)
history_form = StockHistoryForm(instance = stock)
if request.method == 'POST':
stock_form = StockForm(request.POST, instance = stock)
history_form = StockHistoryForm(request.POST, instance = stock)
if stock_form.is_valid() and history_form.is_valid():
stock = stock_form.save()
history = history_form.save()
return redirect('inventory')
context = {
'stock_form': stock_form,
'history_form': history_form
}
return render(request, 'inventory/edit.html', context)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…