• 002---设计表结构


    '''
    关系:
    图书---出版社
    多对一:一个出版社对应多本书    外键字段放多的这一边
    图书---作 者
    多对多:一本书可以有多个作者   一个作者可以有多本书
    '''

    在app01的models.py建立表模型

     1 class Publish(models.Model):
     2     """
     3     出版社表
     4     """
     5     name = models.CharField(max_length=16, verbose_name='出版社')
     6     city = models.CharField(max_length=16, verbose_name='城市')
     7 
     8     def __str__(self):
     9         return self.name
    10 
    11 
    12 class Author(models.Model):
    13     """
    14     作者表
    15     """
    16     name = models.CharField(max_length=16, verbose_name='作者')
    17     age = models.CharField(max_length=16, verbose_name='年龄')
    18 
    19     def __str__(self):
    20         return self.name
    21 
    22 
    23 class Book(models.Model):
    24     """
    25     图书表
    26     """
    27     title = models.CharField(max_length=32, verbose_name="名称")
    28     pub_date = models.DateField(verbose_name='出版日期')
    29     price = models.DecimalField(max_digits=8, decimal_places=2, verbose_name='价格')
    30 
    31     publish = models.ForeignKey(to='Publish', verbose_name='出版社', on_delete=models.CASCADE)
    32     author = models.ManyToManyField(to='Author', verbose_name='作者')
    33 
    34     def __str__(self):
    35         return self.title

    此时还要告诉django要注册那个表。

    项目目录下的settings.py注册app。

     1 # Application definition
     2 
     3 INSTALLED_APPS = [
     4     'django.contrib.admin',
     5     'django.contrib.auth',
     6     'django.contrib.contenttypes',
     7     'django.contrib.sessions',
     8     'django.contrib.messages',
     9     'django.contrib.staticfiles',
    10     'app01.apps.App01Config', #'app01'也行 
    11 ]

    这里不使用mysql数据库,使用sqllite,所以也不需要修改配置文件。

    接下来就可以生成迁移文件:

    打开后执行下面两条命令:

    打开生成的db.sqlite3文件。可以看到表已经生成了。

     

  • 相关阅读:
    (2)远程管理线上服务之sshd服务
    (1)远程管理线上服务之sshd服务
    自建yum仓库
    CentOS7安装MySQL报错Failed to start mysqld.service: Unit not found解决办法
    ssh(Spring,Struts2,Hibernate)注解版整合
    Hibernate关联映射(多对一,一对多, 一些属性(Cascade,inverse,order by))
    HQL查询(分页查询,动态sql查询,参数查询)
    初识Oracle
    ajax获取属性值
    关于SpringMvc返回值类型 Object使用
  • 原文地址:https://www.cnblogs.com/xjmlove/p/9933514.html
Copyright © 2020-2023  润新知