我阅读了一些文档,在django管理站点上查看了一些教程,但是最后我可以通过django admin购买商品,但是库存中的商品数量并没有增加。 除了管理站点django之外,其他所有事情都进行得很顺利,尤其是计算的存在 谢谢您的理解
我希望django管理员执行的功能:
def achat_form_view(request,totalachat=0):
if request.method == 'POST':
form = AchatForm(request.POST,error_class=ParagraphErrorList)
if form.is_valid():
achat = form.save()
article = achat.id_article_a
article.quantite += achat.quantite_a
totalachat+= article.prix_d_achat * achat.quantite_a
print('total achat :',totalachat)
article.save()
form =AchatForm()
# return redirect('manapoitra_achat')
else:
form = AchatForm()
return render(request, 'achatH.html', {'form': form,'totalachat':totalachat})
答案 0 :(得分:0)
您需要在Django管理员上覆盖protected function executeInsert(Insert $insert)
{
$insertState = $insert->getRawState();
if ($insertState['table'] != $this->table) {
throw new Exception\RuntimeException('The table name of the provided Insert object must match that of the table');
}
// apply preInsert features
$this->featureSet->apply('preInsert', array($insert));
$statement = $this->sql->prepareStatementForSqlObject($insert);
$result = $statement->execute();
$this->lastInsertValue = $this->adapter->getDriver()->getConnection()->getLastGeneratedValue();
// apply postInsert features
$this->featureSet->apply('postInsert', array($statement, $result));
return $result->getAffectedRows();
}
才能实现您的业务逻辑。
您在这里有更多信息:https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model