您好我有一个我想要了解的代码。
def custom_forecast(request, pk=None):
if pk is not None:
param = get_object_or_404(Parameters.objects.filter(Q(user=request.user) | Q(system_parameter=True)), pk=pk) #iza l model
form = ForecastForm(request.POST or None, instance=param)
else:
form = ForecastForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
if 'save' in request.POST:#kerml sayev
obj = form.save(commit=False)
obj.user = request.user
obj.type = "custom_forecast"
obj.save()
messages.info(request, 'Saved!')
return redirect(obj.get_forecast_url())
else:
obj = ForecastQueue.create(request.user, 'custom_forecast', json.dumps(request.POST)
obj.save()
return redirect(obj.get_url())
else:
data = { 'active_page': 'custom_forecast',
'form': form,
'display_result': False }
else:
data = { 'active_page': 'custom_forecast',
'form': form,
'display_result': False }
data['system_params'] = Parameters.objects.filter(system_parameter=True).all()
return render(request, 'custom_forecast.html', data)
根据我的基本知识,如果参数不在数据库中,则显示预测表单的方法(pk = none) 第一个:
else:
obj = ForecastQueue.create(request.user, 'custom_forecast', json.dumps(request.POST)
obj.save()
在选择参数之前是否创建用户?
答案 0 :(得分:0)
为模型定义create类方法是一种常见做法。
ForecastQueue.create(...)
创建ForecastQueue
模型的实例
request.user
只是这种方法的一个参数。