from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=30) country = models.CharField(max_length=50) website = models.URLField() class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField() class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author) publisher = models.ForeignKey(Publisher) publication_date = models.DateField()
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'books', )不同点: 1.10.1 最后一行为 books, 如果是1.1.0 最后一行是 mysite.books
现在我们可以创建数据库表了。 首先,用下面的命令验证模型的有效性:
python manage.py check
check 命令检查你的模型的语法和逻辑是否正确
不同点: 1.10.1 是 check ,1.1.0 命令是 validate , 还有就是1.10.1 不要注释掉其他行,1.1.0可以注释掉其他行。
检查成功后,执行命令来创建数据库:
1.9.5以后版本 第一步 python manage.py makemigrations books 第二步 python mange.py sqlmigrate books 0001 第三步 python manage.py migrate
说明:
python manage.py makemigrations 用来检测数据库变更和生成数据库迁移文件
python manage.py sqlmigrate demo 0001 用来把数据库迁移文件转换成数据库语言
python manage.py migrate 用于执行迁移动作
1.1.0版本 python manage.py sqlall books python manage.py syncdb
5、站点管理--创建超级用户
(旧)1.1.0:运行 python manage.py syncdb
(新)1.10.1 运行 python manage.py makemigrations python manager.py createsuperuser
6、站点管理--运行管理工具
启动服务器(如前: python manage.py runserver ),然后在浏览器中访问:http://127.0.0.1:8000/admin/
7、将你的Models加入到Admin管理中
(旧)1.1.0 需要自己新建admin.py
( 新 )1.10.1 已经新建好admin.py
修改后为:
点击(此处)折叠或打开