4.表结构的设计

1.单表

(1)表结构
在这里插入图片描述
(2)orm对应代码

class Publisher(models.Model):
    pid = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32,unique=True)

2.一对多(ForeignKey)

(1)表结构
在这里插入图片描述
(2)orm对应代码

class Book(models.Model):
    title = models.CharField(max_length=32)
    publisher = models.ForeignKey("Publisher",on_delete=models.CASCADE)

3.多对多(ManytoManyField)

(1)表结构
在这里插入图片描述
(2)orm对应代码

django会自动帮我们创建多对多关系表
class Author(models.Model):
    name = models.CharField(max_length=32)
    books = models.ManyToManyField("Book")

我们可以告诉django我们手动创建
class Author(models.Model):
    name = models.CharField(max_length=32)
    books = models.ManyToManyField("Book",through="Author_book")

class Author_book(models.Model):
    author = models.ForeignKey("Author")
    book = models.ForeignKey("Book")
发布了62 篇原创文章 · 获赞 13 · 访问量 2965

猜你喜欢

转载自blog.csdn.net/Yanghongru/article/details/105410645