如何访问django中的扩展的flatpage中的字段?
我写了这个:在django中访问扩展的flatpage中的字段
class ExtendedFlatPage(FlatPage):
teaser = CharField(max_length=150)
class ExtendedFlatPageForm(FlatpageForm):
teaser = CharField(max_length=150)
class Meta:
model = ExtendedFlatPage
class ExtendedFlatPageAdmin(FlatPageAdmin):
form = ExtendedFlatPageForm
fieldsets = (
(None, {'fields': ('url', 'title', 'teaser', 'content', 'sites',)}),
)
admin.site.unregister(FlatPage)
admin.site.register(ExtendedFlatPage, ExtendedFlatPageAdmin)
与创作管理员就可以了。但后来在flatpages/default.html我试过这个:
<html>
<body>
<h1>{{ flatpage.title }}</h1>
<strong>{{ flatpage.teaser }}</strong>
<p>{{ flatpage.content }}</p>
</body>
</html>
而且没有flatpage.teaser!哪里不对?
我认为FlatpageFallbackMiddleware仍然会使用默认的Flatpage模型。此外,您的方法将使用[多表继承](http://docs.djangoproject.com/en/dev/topics/db/models/#multi-table-inheritance),这意味着您有两个为扩展模型创建的表使您的查询效率降低。 – 2010-12-22 09:56:20
是的,我看到了第二个表和正确的值。问题是我如何访问flatpage模板中的新字段? – Stan 2010-12-22 09:58:30