码迷,mamicode.com
首页 > 其他好文 > 详细

Django第二课——ORM

时间:2017-12-02 19:04:33      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:ring   arch   ora   管理员   继承   contain   mod   数据库   绑定   

内容概要

1.admin的配置(选修)

 

 


 

admin的配置(选修)

 

  admin是django强大功能之一,它能共从数据库中读取数据,呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。

 

步骤:

1.在models中建几张表(类)

    

      生成同步数据库的脚本:python manage.py makemigrations  

                      同步数据库:  python manage.py migrate   

       注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下

                的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。           

 

2.创建超级管理员:python manage.py createsuperuser设置好用户名和密码后便可登录http://127.0.0.1:8080/admin/啦!

 

3.在app01的admin.py中进行配置

 

一  认识ModelAdmin

   管理界面的定制类,如需扩展特定的model界面需从该类继承。

二 注册medel类到admin的两种方式:

     <1>   使用register的方法

1
admin.site.register(Book,MyAdmin)

     <2>   使用register的装饰器

1
@admin.register(Book)

三 掌握一些常用的设置技巧

  •     list_display:     指定要显示的字段
  •     search_fields:  指定搜索的字段
  •     list_filter:        指定列表过滤器
  •     ordering:       指定排序字段

实例:

from django.contrib import admin
from app01.models import *  #导入

# Register your models here.

admin.site.register(Author)#该语句用来注册
admin.site.register(Publisher)#该语句用来注册

class MyAdmin(admin.ModelAdmin):
    list_display = ("title","price","publisher")#定制显示哪些字段
    search_fields = ("title", "publisher")#搜索插件,可根据title和publisher来搜索
    list_filter = ("publisher",)#过滤器
    ordering = ("price",)#排序
    # fieldsets = [
    #     (None, {‘fields‘: [‘title‘]}),
    #     (‘price information‘, {‘fields‘: [‘price‘, "publisher"], ‘classes‘: [‘collapse‘]}),
    # ]


admin.site.register(Book,MyAdmin)#该语句用来注册,且将MyAdmin与Book绑定

 

Django第二课——ORM

标签:ring   arch   ora   管理员   继承   contain   mod   数据库   绑定   

原文地址:http://www.cnblogs.com/tangtingmary/p/7954738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!