1、创建app02, 并在settings.py里面设置
2、在app02/models.py里面,创建模型
from django.db import models # Create your models here. class Book(models.Model): name = models.CharField(max_length=32) price = models.DecimalField(max_digits=8, decimal_places=2) publish_date = models.DateTimeField( auto_now_add= True) #添加表关联关系 publish = models.ForeignKey( to=‘Publish‘, on_delete=models.CASCADE ) authors = models.ManyToManyField( to=‘Author‘) class Publish( models.Model): name = models.CharField(max_length=32) addr = models.CharField(max_length=64) email = models.EmailField() #内部实现也是charField,定义为EmailField是为了表单校验 class Author(models.Model): name = models.CharField(max_length=32) age = models.IntegerField() #添加表关联关系 authordetail = models.OneToOneField( to=‘AuthorDetail‘, on_delete= models.CASCADE) #切表,是因为不常用的数据单独放一张表, 对经常用的数据也单独放一张表,提高查询的效率 class AuthorDetail(models.Model): addr = models.CharField(max_length=32) phone = models.IntegerField()
2、执行makemigrations和migrate, 同步数据库; 然后在对应的表格中添加数据;
给publish出版社表添加数据
给作者详情表添加数据:
给作者表添加数据
4、创建项目下创建一个test.py文件,并把manage.py里第一句话复制过来; 然后,可以在test.py里面直接调用模型来操作;
5、对Books表执行添加数据
import os import sys if __name__ == "__main__": os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘untitled1.settings‘) import django django.setup() from app02 import models #书籍表的增删改查 #添加数据,方法1 # models.Book.objects.create( name = "白蛇",price= 66.66, publish_id = 1 ) #添加数据,方法2 publish_obj = models.Publish.objects.filter( pk=3 ).first() models.Book.objects.create( name="白蛇", price = 68.89, publish = publish_obj )
原文:https://www.cnblogs.com/harryTree/p/11899067.html