我刚接触python和django,现在对如何做我的项目有点困惑。你知道吗
情况很简单: 要求用户使用前面的表格每周统计一次客户,并应获得所选期间(年、周)每个客户的统计列表
到目前为止,我可以查询原始数据库中的数据,统计功能的开始日期和结束日期的选定工作周罚款。你知道吗
在我的型号.py你知道吗
def WeekRange(year, week):
d = date(year, 1, 1)
delta_days = d.isoweekday() - 1
delta_weeks = week
if year == d.isocalendar()[0]:
delta_weeks -= 1
delta = timedelta(days=-delta_days, weeks=delta_weeks)
weekbeg = datetime.datetime.combine(d, datetime.time(00, 00, 01)) + delta
delta2 = timedelta(days=6-delta_days, weeks=delta_weeks)
weekend = datetime.datetime.combine(d, datetime.time(23, 59, 59)) + delta2
cursor = connections['nocdb'].cursor()
cursor.execute("SELECT DISTINCT (p.name) AS platform, count(e.id ) AS count FROM event e, lu_platform p WHERE e.platform_id = p.id AND e.sourcetype_id = 1 AND e.event_datetime BETWEEN %s AND %s AND e.sender_id NOT IN ( 759, 73 ) GROUP BY p.name ORDER BY p.name", [weekbeg, weekend] )
results = cursor.fetchall()
return results
你知道吗视图.py你知道吗
def WeekRequestForm(request):
form = WeekSelection()
year = request.POST.get("q_year", "")
week = request.POST.get("q_week", "")
currstat_b = [year, week]
weekstat = WeekRange(*currstat_b)
return render_to_response('form.html', {'weekstat': weekstat, 'form': form}, context_instance=RequestContext(request))
你知道吗表单.py你知道吗
YEARCHOICE = tuple((str(n), str(n)) for n in range(2011, datetime.now().year + 1))
WEEKCHOICE = range(1, 53)
class WeekSelection(forms.Form):
q_year = forms.ChoiceField(label='Year', choices=YEARCHOICE, initial=(datetime.today().isocalendar()[0]))
q_week = forms.ChoiceField(label='Week', choices=zip(WEEKCHOICE, WEEKCHOICE), initial=(datetime.today().isocalendar()[1]))
下面是“需要一个整数” 更换currstat_b=[2013,48]后一切正常,请出示第48周的statistick。你知道吗
问题是如何在weekstat=WeekRange(*currstat\u b)中从窗体到参数获取选定的数字
另外,我也不确定是把原始数据函数放在视图中还是像现在这样放在模型中更好。你知道吗
如果你给我小费,我将不胜感激
也许通过表单传递数据会有所帮助,请尝试以下操作:
相关问题 更多 >
编程相关推荐