2016-03-01 64 views
-3

美好的一天我试图将这个视图保存在模型中,但它不起作用。如何正确地将此视图保存在模型中

def my_view(request) 
    data = data['my_data'] 

    if request.method == 'POST': 
     data_a = request.POST.get(data["data_a"]) 
     high_temp = request.POST.get(data["data_b"]) 
     date = request.POST.get(data["data_c"]) 
     wind_speed = request.POST.get(data["data_d"]) 
     obj = WeatherData.objects.create(
      data_a=data_a, data_b=data_b, 
      data_c=data_c, data_d=data_d,) 
     obj.save() 

    return render(request, 'data.html', obj) 
+0

什么是不工作?而'data ['my_data']'是什么? – ilse2005

+0

什么是不工作的意思?错误?结果无效? – Sayse

+0

@Sayse我的意思是,它不在模型中保存,也没有任何错误。但是如果我保存在管理网站中,那么它就是保存。 –

回答

1

可以使用的ModelForm:https://docs.djangoproject.com/es/1.9/topics/forms/modelforms/#modelform

forms.py: 
class WeatherForm(ModelForm): 
    class Meta: 
     model = Weather 
     fields = ['data_a', 'data_b', 'data_c', 'data_d'] 
views: 
def my_view(request) 
    data = data['my_data'] 
    form = WeatherForm(request.POST or None) 
    if form.is_valid(): 
     obj = form.save() 
    else: 
     obj = None 
    return render(request, 'data.html', {'form': form, 'obj': obj}) 
+0

你介意检查一下吗?这是原来的帖子,但无法得到它的帮助stackoverflow.com/questions/35708570/...这就是为什么我试着这种方法 –

3

假设你有POST代码参数应该是这样的:

def my_view(request) 
    data = data['my_data'] 

    if request.method == 'POST': 
     data_a = request.POST.get(data["data_a"]) 
     data_b = request.POST.get(data["data_b"]) 
     data_c = request.POST.get(data["data_c"]) 
     data_d = request.POST.get(data["data_d"]) 
     obj = WeatherData.objects.create(
      data_a=data_a, data_b=data_b, 
      data_c=data_c, data_d=data_d,) 
     # obj.save() --> you don't need save because you already called `create` 

    return render(request, 'data.html', obj) 
+0

你介意检查这个吗?这是原来的帖子,但无法得到它的帮助stackoverflow.com/questions/35708570/...这就是为什么我试着这种方法 –

+0

@DaveBecks,如果答案帮助你,请接受它。 – ilse2005

相关问题