django基础

3.models.py

2017-10-04  本文已影响0人  qy1994

实例:

作者模型: 一个作者有姓名
作者详情模型:把作者的详情放到详情表,包含性别 email地址和出生日期,作者详情模型和作者模型是一对一关系(oneToOneField)
出版商模型:出版商有名称 地址 所在城市 省 国家 网站
书籍模型:书籍有书名 出版日期。一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系是多对多的关联关系(many-to-many),一本书只应该由一个出版商出版,所以出版商和书籍是一对多的关联关系(one-to-many)也被称作外键(ForenignKey)
class Publisher(models.Model):
    name = models.CharField(max_length=30, verbose_name="名称")
    address = models.CharField("地址", max_length=50)
    city = models.CharField(max_length=60)
    state_province = models.CharField(max_length=30)
    country = models.CharField(max_length=50)
    website = models.URLField()


class Author(models.Model):
    name = models.CharField(max_length=30)


class AuthorDetail(models.Model):
    sex = models.BooleanField(max_length=1, choices=((0, '男'), (1, '女'),))
    email = models.EmailField()
    address = models.CharField(max_length=50)
    birthday = models.DateField()
    author = models.OneToOneField(Author)


class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField()

models.py里定义好之后只需要执行 makemigrations生成数据库同步脚本 和migrate来同步数据库即可

常用的模型字段

模型常用的字段选项

在模型层的 models 下的字段类型(Field type)中有详细介绍

上一篇 下一篇

猜你喜欢

热点阅读