Trees in Django
I am categorizing models in a tree. The tree is created based on a string of where the model falls in the tree. The tree will not change once it is created.
I tried using django-mptt with this code to create the tree.
def add_new_nodes(category_string): for category in category_string.split(','): try: root = Category.get_root() except: root = Category.objects.create(value='') current_node = root for step in category.split(':'): added = False for node in current_node.get_children().all(): print node.value print step if node.value == step: added = True current_node = node break if not added: new_node = Category.objects.create(value=step, parent=current_node) current_node = new_node
But it each time is creating a new branch from the root even with two children of the root with the same name.
Or at least that is what I get from
So I am trying to use django-treebeard similarly but I am getting an error. 'str' object has no attribute 'META'
def tree(request): try: root = Category1.get_root_nodes()[0] except: root = Category1.add_root(value='') annotated_list = root.get_annotated_list() print annotated_list return render("tree.html", {'annotated_list':annotated_list})
{% for item, info in annotated_list %} {% if info.open %} <ul><li> {% else %} </li><li> {% endif %} {{ item }} {% for close in info.close %} </li></ul> {% endfor %} {% endfor %}
But I get the error 'str' object has no attribute 'META'
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home