python - request.get 到 postgresql 的 Django 问题
问题描述
遇到这个问题,我有一个包含日期、类别和总和的表,我正在尝试进行一个查询,可以在日期之间进行选择以获取记录,但是当我选择日期时,它会尖叫“列”2020-12 -12"不存在"
视图.py
def outgoings_history(request):
if request.method == "POST":
date_from= request.POST.get('date_from')
date_to= request.POST.get('date_to')
search_result = Outgoings.objects.filter(user=request.user).order_by('-date')\
.raw('SELECT suma, kategoria, date FROM outgoings WHERE date BETWEEN "2020-12-12" AND "2020-12-12"')
return render(request, 'outgoings_history.html', {'data': search_result})
else:
displaydata = Outgoings.objects.filter(user=request.user).order_by('-date')
return render(request, 'outgoings_history.html', {'data': displaydata})
表格.py
class PickADate(forms.Form):
date_from= forms.DateField(widget=DateInput())
date_to= forms.DateField(widget=DateInput())[enter image description here][1]
日期“2020-12-12”只是一个例子,它有这一天的记录,但仍然没有显示任何内容
解决方案
您不需要为此使用.raw
,您可以使用`.filter():
from django.contrib.auth.decorators import login_required
@login_required
def outgoings_history(request):
search_result = Outgoings.objects.filter(
user=request.user,
).order_by('-date')
if request.method == 'POST':
form = PickADate(request.POST)
if form.is_valid():
date_from = form.cleaned_data['date_from']
date_to = form.cleaned_data['date_to']
search_result = search_results.filter(
date__range=(date_from, date_to)
)
return render(request, 'outgoings_history.html', {'data': search_result})
注意:您可以使用
@login_required
装饰器 [Django-doc]将视图限制为经过身份验证的用户的视图 。
推荐阅读
- javascript - “组件”未定义为 no-undef。使用 JSX react/react-in-jsx-scope 时,'React' 必须在范围内
- javascript - Jquery $.post html 到外部 php 并将 html 打印为 pdf。需要找到最优解
- python - 在 WRDS CRSP 查询中使用来自外部文件的 Python dict 值
- java - log4j2 自定义 jdbcapender 没有为一个变量捕获两个不同的值?
- javascript - MUI 更改 Select 的 Label 的 css 和选定选项的颜色
- javascript - 段落中的嵌套跨度不会包裹在子节点上,只会包裹在父节点上
- azure - 在哪里获取 Azure 存储授权:SharedKey?
- python-3.x - 以官方名称合并不同的国家替代名称
- cryptography - 在 vigenere 密码中查找密钥的长度
- excel - Excel VBA 正在查找每个其他单元格而不是方法中的每个单元格