def render(self, context):
# Let any VariableDoesNotExist raised bubble up
args = [self.node.resolve(context)]
if self.foreign_key is not None:
app_label, model_name, fk_attr = self.foreign_key.split('.')
cls = apps.get_model(app_label, model_name)
if cls is None:
raise template.TemplateSyntaxError(
_('drilldown_tree_for_node tag was given an invalid model: %s') %
'.'.join([app_label, model_name])
)
try:
cls._meta.get_field(fk_attr)
except FieldDoesNotExist:
raise template.TemplateSyntaxError(
_('drilldown_tree_for_node tag was given an invalid model field: %s') % fk_attr
)
args.extend([cls, fk_attr, self.count_attr, self.cumulative])
context[self.context_var] = drilldown_tree_for_node(*args)
return ''
评论列表
文章目录