注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

哈欠涟涟的博客

学习python、pyqt与django

 
 
 

日志

 
 

将apps从django 0.96迁移到1.0(一)  

2008-11-13 08:48:50|  分类: django |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

公共改变(common changes)

使用unicode

将字符串('foo')改为unicode字符串(u'foo')。django使用

unicode字符串。虽然raw string大部分时候一样可以工作,

但改为unicode字符串可以避免一些问题

Models

将maxlength重命名为max_length

用__unicode__替换__str__

删除了prepopulated_from

  在model字段中删除prepopulated_from参数。它不再有效,已被移到admin.py ModelAdmin类中

删除了core

  model字段中删除core参数。它不再需要。因为它的等价功能改为由admin interface处理。

用admin.py代替class Admin:

  在你的models中删除class Admin内部声明。将在admin中注册apps,将这些声明移到了admin.py中。

例子

0.96下的models.py:

复制内容到剪贴板

代码:

class Author(models.Model):

first_name = models.CharField(maxlength=30)

last_name = models.CharField(maxlength=30)

slug = models.CharField(maxlength=60, prepopulate_from=('first_name', 'last_name'))

class Admin:

list_display = ['first_name', 'last_name']

def __str__(self):

return '%s %s' % (self.first_name, self.last_name)

1.0下的models.py:

复制内容到剪贴板

代码:

  class Author(models.Model):

    first_name = models.CharField(max_length=30)

    last_name = models.CharField(max_length=30)

    slug = models.CharField(max_length=60)

    def __unicode__(self):

      return u'%s %s' % (self.first_name, self.last_name)

1.0下的admin.py:

复制内容到剪贴板

代码:

  from django.contrib import admin

  from models import Author

  class AuthorAdmin(admin.ModelAdmin):

    list_display = ['first_name', 'last_name']

    prepopulated_fields = {'slug':('first_name','last_name')}

  admin.site.register(Author,AuthorAdmin)

  评论这张
 
阅读(161)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017