Django-26-ORM建表(多对多自动创建)

前言

ManyToManyField可以自动创建多对多关系,不需要定义关系表,同步数据库时自动生成第三张的关系表

 

django_study.app01.models.py

from django.db import models

# Create your models here.

class Book(models.Model):
    name = models.CharField(max_length=64)
    price = models.IntegerField() 
    pub_date = models.DateTimeField(auto_now_add=True)  # True代表不会每次更新为当前时间
    authors = models.ManyToManyField("Author") # 后面直接跟关联表
    
    class Meta:
        db_table = "book"
        
class Author(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField(default=20)
    
    class Meta:
        db_table = "author"

生成迁移文件并同步数据库

Django-26-ORM建表(多对多自动创建)_第1张图片

Django-26-ORM建表(多对多自动创建)_第2张图片

 

打开Navicat查看

Django-26-ORM建表(多对多自动创建)_第3张图片

 author表结构

Django-26-ORM建表(多对多自动创建)_第4张图片

book表结构

Django-26-ORM建表(多对多自动创建)_第5张图片

book_authors表结构

Django-26-ORM建表(多对多自动创建)_第6张图片

至此,多对多表创建(自动创建方式)完成 

你可能感兴趣的:(Django)