Самореференциальная связь Django?

Я пытаюсь создать страницу модели, страница должна иметь возможность также есть «дочерние страницы».

В моем коде модели ниже происходит сбой Python на моем Mac (python 2.6.1) и Ubuntu 10.04 (python 2.6.5):

from django.db import models
from django.contrib import admin

class Page(models.Model):
    slug = models.SlugField(blank=True)
    title = models.CharField(max_length=100)
    content = models.TextField(blank=True)
    children = models.ManyToManyField("self", blank=True)
    published = models.BooleanField(default=True)
    created = models.DateTimeField(blank=True, auto_now_add=True)

    def html(self):
        html = "
  • " html += self.title children = self.children.all() if len(children) > 0: for page in children: html += page.html() html += "
  • " return html def __unicode__(self): return self.title class PageAdmin(admin.ModelAdmin): prepopulated_fields = {'slug': ('title',)} admin.site.register(Page, PageAdmin)

    Что я делаю не так ? Или этот вид HTML-рендеринга относится к представлениям?

    Спасибо.

    6
    задан 28 December 2010 в 15:24
    поделиться