本文整理汇总了Python中freenasUI.freeadmin.tree.TreeNode.__setattr__方法的典型用法代码示例。如果您正苦于以下问题:Python TreeNode.__setattr__方法的具体用法?Python TreeNode.__setattr__怎么用?Python TreeNode.__setattr__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类freenasUI.freeadmin.tree.TreeNode
的用法示例。
在下文中一共展示了TreeNode.__setattr__方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _generate_app
# 需要导入模块: from freenasUI.freeadmin.tree import TreeNode [as 别名]
# 或者: from freenasUI.freeadmin.tree.TreeNode import __setattr__ [as 别名]
#.........这里部分代码省略.........
and
model in self._modelforms
):
log.debug("Model %s does not have a ModelForm", model)
continue
if model._admin.deletable is False:
navopt = TreeNode(
str(model._meta.object_name),
name=model._meta.verbose_name,
model=c, app_name=app, type='dialog')
try:
navopt.kwargs = {
'oid': model.objects.order_by("-id")[0].id,
}
navopt.view = 'freeadmin_%s_%s_edit' % (
model._meta.app_label,
model._meta.module_name,
)
except:
navopt.view = 'freeadmin_%s_%s_add' % (
model._meta.app_label,
model._meta.module_name,
)
else:
navopt = TreeNode(str(model._meta.object_name))
navopt.name = model._meta.verbose_name_plural
navopt.model = c
navopt.app_name = app
navopt.order_child = False
for key in model._admin.nav_extra.keys():
navopt.__setattr__(
key,
model._admin.nav_extra.get(key))
if model._admin.icon_model is not None:
navopt.icon = model._admin.icon_model
if model._admin.menu_child_of is not None:
childs_of.append((navopt, model))
reg = True
else:
reg = self.register_option(navopt, nav)
if reg and not navopt.type:
qs = model.objects.filter(
**model._admin.object_filters).order_by('-id')
if qs.count() > 0:
if model._admin.object_num > 0:
qs = qs[:model._admin.object_num]
for e in qs:
subopt = TreeNode('Edit')
subopt.type = 'editobject'
subopt.view = 'freeadmin_%s_%s_edit' % (
model._meta.app_label,
model._meta.module_name,
)
if model._admin.icon_object is not None:
subopt.icon = model._admin.icon_object
subopt.model = c
subopt.app_name = app
subopt.kwargs = {
'oid': e.id,
}