Mon 28 Apr 2008
Django From 0.96 update to 1.0 logging
Posted On Django At: 2008-08-08 00:50:32
Django升级到1.0时,发现原来写的东西就运行不起来, 去官方查了一下原来Admin和newform的API改动了, 还好这次不是大面积的改动.
更新简单记录一下.
本文主要参考: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges
admin url
URLconfs:
# OLD:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^admin/', include('django.contrib.admin.urls')),
)
# NEW:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/(.*)', admin.site.root),
)
slugfield prepopulate_from
code:
# OLD
class Catalog(models.Model):
catalog_name = models.CharField(max_length=100)
slug = models.SlugField(prepopulate_from=("catalog_name",))
class Admin:
list_display = ('id', 'catalog_name', 'post_count')
# NEW
class Catalog(models.Model):
catalog_name = models.CharField(max_length=100)
slug = models.SlugField(db_index=True)
from django.contrib import admin
class CatalogAdmin(admin.ModelAdmin):
list_display = ('id', 'catalog_name', 'post_count')
prepopulated_fields = {"slug": ("catalog_name",)}
admin.site.register(Catalog, CatalogAdmin)
filter_interface
code:
# OLD
tags = models.ManyToManyField(Tag, filter_interface=models.HORIZONTAL, related_name='entries')
slug = models.SlugField(
unique_for_date='pub_date',
prepopulate_from=('title',),
help_text='Automatically built from the title.'
)
# NEW
tags = models.ManyToManyField(Tag, related_name='entries')
slug = models.SlugField(db_index=True)
class EntryAdmin(admin.ModelAdmin):
date_hierarchy = 'pub_date'
prepopulated_fields = {"slug": ("title",)}
filter_horizontal = ('tags',)
admin.site.register(Entry, EntryAdmin)
Renamed 'fields' to 'fieldsets'
code:
# OLD
class Admin:
fields = [(None, {'fields': ('title', 'catalog', 'public', 'slug', 'input_format', 'body', 'tags', 'comment_count', 'read_count')})]
# NEW
class EntryAdmin(admin.ModelAdmin):
fieldsets = [(None, {'fields': ('title', 'catalog', 'public', 'slug', 'input_format', 'body', 'tags', 'comment_count', 'read_count')})]
admin.site.register(Entry, EntryAdmin)
更详细的变更请参考Blog-app. http://code.google.com/p/blog-app/source/detail?r=67
- 参考:
--EOF--
进来Spamer太多,暂时关闭留言,如果有什么问题可以邮件联系。
borderj # gmail.com (Gtalk)
http://www.b0rder.com
borderj # gmail.com (Gtalk)
http://www.b0rder.com