【发布时间】:2018-10-03 00:16:09
【问题描述】:
我正在尝试在 DATABASE 中创建一行,如果存在,则使用 DJANGO 将旧值更新为新 + 旧值。类似于上面的 PHP:
$sql= "IF EXISTS(SELECT * FROM April_sales WHERE label='".$product."') THEN
BEGIN
UPDATE francais SET sold=sold+'".$sold."' WHERE label='".$product."';
END;
ELSE
BEGIN
INSERT INTO April_sales (sold,sold) VALUES('".$sold."','".$product."');
END;
END IF;";
我正在接收新行,试试这个:
query = April_sales.objects.get_or_create(product=product, sold= new_amount, date= timezone.now())
sum_value = query.sold + new_amount
query = April_sales(product=product, sold=sum_value , date=timezone.now())
query.save()
【问题讨论】:
-
该代码无法运行。
sum_value = query.n+= new_value是语法错误。
标签: django sqlite django-models django-queryset