带有字典数据的Django模型属性
我正在尝试访问一个属性/计算字段,该字段在我的模板中包含一个字典。我不太确定应该如何在值上循环,从代码的角度来看,这是正确的方法吗。。。正如您在下面看到的,我的视图创建了一个过滤器查询集,我希望该查询集中的每一行都包含来自模型中计算字段/属性的dict。如有任何建议,将不胜感激。我很难确定在模板本身中循环数据的正确方式。最终产品看起来像这样带有字典数据的Django模型属性,django,django-models,django-templates,Django,Django Models,Django Templates,我正在尝试访问一个属性/计算字段,该字段在我的模板中包含一个字典。我不太确定应该如何在值上循环,从代码的角度来看,这是正确的方法吗。。。正如您在下面看到的,我的视图创建了一个过滤器查询集,我希望该查询集中的每一行都包含来自模型中计算字段/属性的dict。如有任何建议,将不胜感激。我很难确定在模板本身中循环数据的正确方式。最终产品看起来像这样 <div id={{provider.id}}>{{provider.name}}</div> <div class="d
<div id={{provider.id}}>{{provider.name}}</div>
<div class="dayofweek">Monday</div>
<div class="timesavailable">
<ul>
<li>8:00</li>
<li>8:30></li>
</div>
辅助功能:
class GetSchedule(object):
schedule = {}
def __init__(self, provider_id):
self.provider = provider_id
try:
self.schedule = GetSchedule.__buildSchedule(self,self.provider)
except ObjectDoesNotExist:
print "Init failed - Cannot find provider in db with id: %s" % self.provider
raise ValueError
def __buildSchedule(self, provider):
#default values for now - dict will contain data soon
pid = self.provider
sched = {'Monday':{'8:00','8:30','10:00'}, 'Tuesday':{'10:00','10:30','11:00'}, 'Wednesday':{'9:30','10:00','10:30'}}
val = {
'Schedule' : sched
}
return val
def returnSchedule(self):
return self.schedule
视图:
你现在的问题是什么?当你尝试这个的时候,你得到了什么?目前,我似乎无法从模板中的Dict中获取数据。我收到一个错误,声明GetSchedule对象不可iterable
{%for key,item in provider.current_schedule%}{{{key}}{%for item.current_schedule%}{{{inneritem}{%endfor%}{%endfor%}
没关系-模板现在正在显示。我不得不把口述里面的口述改成口述里面的列表。。。
class GetSchedule(object):
schedule = {}
def __init__(self, provider_id):
self.provider = provider_id
try:
self.schedule = GetSchedule.__buildSchedule(self,self.provider)
except ObjectDoesNotExist:
print "Init failed - Cannot find provider in db with id: %s" % self.provider
raise ValueError
def __buildSchedule(self, provider):
#default values for now - dict will contain data soon
pid = self.provider
sched = {'Monday':{'8:00','8:30','10:00'}, 'Tuesday':{'10:00','10:30','11:00'}, 'Wednesday':{'9:30','10:00','10:30'}}
val = {
'Schedule' : sched
}
return val
def returnSchedule(self):
return self.schedule
prov_list = Provider.objects.filter(docspeciality__name=dft_spec)
context_dict = {
'DftSpec': dft_spec,
'DftZip': dft_zip,
'DftIns': dft_ins,
'DocList': prov_list}
return render_to_response('search/provider.html', context_dict, context_instance=RequestContext(request))