创建Django项目(四)——模型

 

2013-08-06 22:24:06|  

 
        1.创建模型
         (1) "mysite\blog\models.py"文件中的内容:
# -*- coding:utf-8 -*-
from django.db import models
 
class Group(models.Model):
    """日志的分类"""
    group = models.CharField(max_length=30)
    def __unicode__(self):  # __unicode__() 方法告诉Python如何将对象以unicode的方式显示出来
        return self.group
 
class Article(models.Model):
    """日志"""
    title = models.CharField(max_length=150)
    body = models.TextField()
    group = models.ForeignKey(Group)
    timestamp = models.DateTimeField(auto_now_add=True)  # 创建文章的时间 
    last_time = models.DateTimeField(auto_now=True)  # 最后一次修改的时间 
    def __unicode__(self):  #  __unicode__() 方法告诉Python如何将对象以unicode的方式显示出来
        return self.title
 
    class Meta:  # 使用Meta类,设置一些与特定模型相关的选项
        ordering = [‘-timestamp‘]
 
    def get_body_part(self):
        return self.body[:80]  # 输出日志内容的前面80个字符
 
        2. 创建数据库表

(1) 验证模型有效性:  python manage.py validate

 创建Django项目(四)——模型

(2) 生成 CREATE TABLE 语句:python manage.py sqlall blog

创建Django项目(四)——模型

(3) 提交SQL语句至数据库:python manage.py syncdb

 创建Django项目(四)——模型

3.将Models加入到Admin 管理中

 

(1) 创建文件"admin.py",文件路径为"mysite\blog\admin.py",内容:

from django.contrib import admin

from blog.models import Article, Group

admin.site.register(Article)

admin.site.register(Group)

(2) 打开http://localhost:8000/admin,看到可以管理blog应用中的内容:

 创建Django项目(四)——模型
      (3) 通过管理页面添加日志
 创建Django项目(四)——模型
 

4.自定义ModelAdmi类

"blog\admin.py"文件中:

class ArticleAdmin(admin.ModelAdmin):

    list_display = (‘title‘, ‘body‘, ‘timestamp‘)  # 允许管理员指定列表中的字段

    search_fields = (‘title‘, ‘body‘)  # 添加一个快速查询栏

    list_filter = (‘timestamp‘,)  # 添加过滤器

    date_hierarchy = ‘timestamp‘ 

    ordering = (‘-timestamp‘,)  # 改变默认的排序方式,按timestamp降序排列

    fields = (‘title‘, ‘body‘, ‘group‘)  # 自定义编辑表单,排除一些不想被其他人编辑的fields 

 

admin.site.register(Article, ArticleAdmin)

创建Django项目(四)——模型

上一篇:Delphi 中的哈希表(二)—— TStringHash


下一篇:手机号一键登录