【发布时间】:2018-07-31 23:39:30
【问题描述】:
我正在尝试使用 ModelForm 来保存模型。
forms.py
class PurchaseForm(forms.ModelForm):
weight = forms.IntegerField()
class Meta:
model = Purchase
fields = ["number", "pieces"]
views.py
if request.method == "POST":
form = PurchaseForm(request.POST)
if form.is_valid():
purchase = form.save(commit=False)
purchase.contract = Contract.objects.get(number=slug)
weight = form.cleaned_data.get('weight')
if check_weight(weight, purchase.contract):
weight_type = purchase.contract.supplier.market.weights
purchase.lbs, purchase.kgs = generate_weights(weight, weight_type)
purchase.save()
在上面的视图中,如果check_weight 函数返回False,我需要阻止模型保存。
此函数需要来自相关对象的一些数据。我很难弄清楚这一点。我该怎么办?
【问题讨论】:
-
这里有什么问题?你的代码看起来不错
-
嗯,当检查重量返回 false 时,我认为它正在保存,但它现在似乎正在工作。我的数据库肯定有其他问题。
标签: django django-forms django-views