Я пытаюсь создать страницу модели, страница должна иметь возможность также есть «дочерние страницы».
В моем коде модели ниже происходит сбой 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-рендеринга относится к представлениям?
Спасибо.