学习表关系的序列化和反序列表查询之前,新建项目的准备工作及环境搭建的配置。
配置:settings.py
INSTALLED_APPS = [ # ... 'rest_framework', ] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dg_proj', 'USER': 'root', 'PASSWORD': '123', } } # 连接mysql数据库 """ 任何__init__文件 import pymysql pymysql.install_as_MySQLdb() """ # 国际化处理 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False # 静态文件的环境配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
路由:urls.py
# 主路由url from django.conf.urls import url, include from django.contrib import admin from django.views.static import serve from django.conf import settings urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^api/', include('api.urls')), # 路由的分发 url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}), ] # 子路由(app01) from django.conf.urls import url from . import views urlpatterns = [ ]
多表设计
""" Book表:name、price、img、authors、publish、is_delete、create_time Pbulish表:name、address、is_delete、create_time Author表:name、age、is_delete、create_time AutherDetail表:mobile、author、is_delete、create_time BaseModel基表 is_delete、create_tiime 上面四个表的创建继承基表。可以继承两个字段 """
基表BaseModel:
把表相同的字段单独创建出来形成基表,让其他表直接继承即可。
class BaseMode(models.Model): is_delete = models.BoolenanField(defalut=False) create_time = models.DateTimeField(auto_now_add=True) # 设置 abstract =True 来声明基表,作为基表的Model不能在数据库中形成对应的表 class Meta: abstract = True
源码分析得出的参数:
设置 abstract =True 来声明基表,作为基表的Model不能在数据库中形成对应的表
断关表多表关系
知识点(重点)