功能Django的问题



你好,我有一个我要理解的代码。

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()

是在选择参数之前创建用户?

这是定义为模型创建类方法的常见做法。 ForecastQueue.create(...)创建ForecastQueue模型的实例。
request.user只是此方法的参数。

最新更新