欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

网络框架开发 - django 模型层(多表操作)

最编程 2024-03-25 20:19:49
...

class Book(models.Model):

    id = models.AutoField(primary_key=True)

    title = models.CharField(max_length=32)

    publishDate = models.DateField()

    price = models.DecimalField(max_digits=5, decimal_places=2)

    # 与Publish建立一对多的关系,外键字段建立在多的一方

    publish = models.ForeignKey(to="Publish", to_field="id", on_delete=models.CASCADE)

    # 与Author建立多对多的关系,ManyTOManyField可以建在两个模型中的任意一个,自动创建第三张表

    authors = models.ManyToManyField(to='Author',)

class Author(models.Model):

    id = models.AutoField(primary_key=True)

    name = models.CharField(max_length=32)

    age = models.IntegerField()

    # 与AuthorDetail建立一对一的关系

    authorDetail = models.OneToOneField(to="AuthorDetail", on_delete=models.CASCADE)

class Publish(models.Model):

    id = models.AutoField(primary_key=True)

    name = models.CharField(max_length=32)

    city = models.CharField(max_length=32)

    email = models.EmailField()

class AuthorDetail(models.Model):

    id = models.AutoField(primary_key=True)

    birthday = models.DateField()

    telephone = models.BigIntegerField()

    addr = models.CharField(max_length=64)