teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

情報の修正

2019/10/15 15:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,51 +1,1 @@
1
- django簡易的なアプリを作成中です。下記ようなモデル定義ます。
1
+ Django:UpdateViewカラム同士掛け算行うにはどうたら良のでしょうか?
2
-
3
- ```python
4
- user = models.ForeignKey(User, on_delete=models.CASCADE)
5
- date = models.DateField(verbose_name="日付",default=datetime.now)
6
- product = models.CharField(verbose_name="商品名")
7
- price = models.IntegerField(verbose_name="単価")
8
- quantity = models.IntegerField(verbose_name="数量")
9
- total_money = models.IntegerField(verbose_name="合計")
10
- ```
11
-
12
-
13
- forms.py
14
- ```python
15
- from django import forms
16
- from .models import Product
17
-
18
-
19
- class ProductForm(forms.ModelForm):
20
- class Meta:
21
- model = Product
22
- fields =['date', 'product', 'price', 'quantity']
23
- ```
24
- また。views.pyで以下のような定義をしました。
25
- ```pyhton
26
- @login_required
27
- def product_data_new(request):
28
- if request.method == "POST":
29
- form = ProductForm(request.POST)
30
- if form.is_valid():
31
- product_data = form.save(commit=False)
32
- product_data.user = request.user
33
- product_data.total_money = product_data.price * product_data.quantity
34
- product_data.save()
35
- messages.success(request, "投稿が完了しました!")
36
- return redirect('product:top', pk=request.user.pk)
37
- else:
38
- form = ProductForm()
39
- return render(request, 'product/productn_data_new.html', {'form': form})
40
-
41
-
42
- class ProductUpdateView(UpdateView):
43
- model = Product
44
- form_class = ProductForm
45
- success_url = reverse_lazy('product:update_done')
46
-
47
- def update_done(request):
48
- return render(request, 'product/update_done.html')
49
- ```
50
- 新規登録時には単価と数量を元に合計金額を計算したのですが、更新する際にもこの処理を追加したいのですが、その記述方法がわかりません。
51
- お手数ですが、アドバイス頂けると助かります。

1

情報の修正

2019/10/15 15:22

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Django:UpdateViewに処理追加するにはどうしたら良いのでしょうか?
1
+ Django:UpdateViewでカラム同士の掛け算行うにはどうしたら良いのでしょうか?
body CHANGED
File without changes