标签:super 连接 admin nbsp man 默认 数据库 max dynamic
出现如下目录
项目和应用已经创建好了,
现在让我们开始写app
from django.db import models # Create your models here. class Author(models.Model): name=models.CharField(max_length=30) def __str__(self): return self.name class Publisher(models.Model): name=models.CharField(max_length=40) city=models.CharField(max_length=40) def __str__(self): 在Python2中是__unicode__ return self.name class Book(models.Model): title=models.CharField(max_length=30) price=models.DecimalField(max_digits=6,decimal_places=3) publish=models.ForeignKey(Publisher,on_delete=models.CASCADE) class BooktoAuthor(models.Model): book=models.ForeignKey(Book,on_delete=models.CASCADE) auth=models.ForeignKey(Author,on_delete=models.CASCADE)
将app加入到installed_app中,设置mysql为连接的数据库,创建一个数据库从mysql中
然后执行
>> python manage.py makemigrations
>> python manage,py migrate
迁移成功,表创建完成
django 为我们提供了一个free and rich python API
以上是创建了一些记录
关于manytomany relationship
一种方法是使用ManytoManyField方法
from django.db import models # Create your models here. class Author(models.Model): name=models.CharField(max_length=30) def __str__(self): return self.name class Publisher(models.Model): name=models.CharField(max_length=40) city=models.CharField(max_length=40) def __str__(self): return self.name class Book(models.Model): title=models.CharField(max_length=30) price=models.DecimalField(max_digits=6,decimal_places=3) publish=models.ForeignKey(Publisher,on_delete=models.CASCADE) auth=models.ManyToManyField(Author,through=‘BooktoAuthor‘) def __str__(self): return self.title class BooktoAuthor(models.Model): book=models.ForeignKey(Book,on_delete=models.CASCADE) auth=models.ForeignKey(Author,on_delete=models.CASCADE) pubdate=models.DateField(default=‘2010-01-01‘)
关于models.ManyToManyField 有一个through option 如果你的中间表需要额外的列,你的需求在这个中间表多加几列,你可以使用through这个参数,如果不加,会默认创建一个中间表,以各自的id为中间标的外键
关于models.ForeignKey 有一个参数需要注意就是on_delete 默认为None , 如果是None ,Django 认为是CASCADE(级联)删除,处了级联删除还有protect set_null
所谓级联删除,是当你删除父表的信息时,字表相关联的记录也会被删除,这是为了实现SQL的外键的引用完整性
所谓引用完整性,指子表中不能插入孤立的行,或者使子表出现孤立的行,孤立的行,是说这个行的外键在父表中找不到相关的行
a dynamic admin
创建超级用户
python manage.py createsuperuser
用户名administrator密码15166672108a
标签:super 连接 admin nbsp man 默认 数据库 max dynamic
原文地址:http://www.cnblogs.com/yuyang26/p/7429562.html