django中ORM的简单应用,以及生成admin站点
前期准备:
1、安装mysql数据库
2、安装mysqlclient插件:pip install -i https://pypi.douban.com/simple mysqlclient
3、在全局settings中设置数据库连接信息
4、创建子应用并注册子应用,demo中使用的子应用为:persons
操作步骤:
1、在persons子应用的models.py文件中定义数据库字段,代码如下:
from django.db import models class Persons(models.Model): GENDER_CHOICES = ( (u'M', u'Male'), (u'F', u'Female'), ) id = models.AutoField(verbose_name='id主键', primary_key=True, help_text='id主键') name = models.CharField(verbose_name="姓名", help_text="姓名", unique=True, max_length=50) age = models.IntegerField(verbose_name="年龄", help_text="年龄") sex = models.CharField(choices=GENDER_CHOICES, max_length=2) desc = models.TextField(verbose_name="自我介绍", help_text="自我介绍", max_length=500, null=True, blank=True, default='') # 定义子类Meta, 用于设置当前数据模型的元数据信息 class Meta: db_table = 'tb_person' # 会在admin站点中, 显示一个更人性化的表名 verbose_name = '个人信息' verbose_name_plural = '个人信息' def __str__(self): return self.name
2、迁移脚本,点击Tools->Run manage.py Task,分别输入:makemigrations、migrate
3、在manage.py 命令行中创建用户:createsuperuser
4、在persons子应用admin.py文件中注册admin站点,代码如下:
from django.contrib import admin from persons.models import Persons class PersonsAdmin(admin.ModelAdmin): # 指定在修改(新增)中需要显示的字段 fields = ('name', 'age', 'sex', 'desc') # 指定要列出的字段 list_display = ['id', 'name', 'age', 'sex'] # 注册时除了传Persons参数外,还需要传PersonsAdmin参数 admin.site.register(Persons, PersonsAdmin)
5、访问admin站点:http://127.0.0.1:8000/admin,输入创建的用户名和密码,登录后可以在后台进行数据管理: