• django----数据库表设计


    设计表时注意的几点:

      1、 nid = models.AutoField(primary_key=True)        #如果不指定django会默认加上id的

        nid = models.BigAutoField(primary_key=True)   #但那些整型满足不了你的时候,就用BigAutoField

      2、对于类的注释一般加在类里面

      3、verbose_name=“标题”   字段的中文提示

      4、ForeignKey(to = "表名",tofield= "字段")    #这两个to可以不用写,但是关联的表名一定要写

      5、releated_name = "uuu"   反向查询。如果一个表中有多个ManyTwoMany()或者ForeignKey()必须加上releated_name 

      6、字段经常变动的适合连表

         字段变化小,不怎么变的适合在一个表中,不进行连表:就用choices

           吧班主任和老师可以放到一个表中、因为他们有相同的属性,如果属性全是一样的,可以放在一个表里(推荐)

         也可以分开放,老师表是老师表,班主任表是班主任表。这样就会进行连表操作,连表有性能消耗。

    示例

    class News(models.Model):
        title = models.CharField(max_length=32)
        summary = models.CharField(max_length=255)
        news_type = models.ForeignKey(to="NewsType")
    class NewsType(models.Model):
        type_title = models.CharField(max_length=32)
    
    
    News:
      id   title   summary  news_type_id
       t....    科技...     2
       t....    科技...     1
       t....    科技...     2
    NewsType:
     id    title
         图片
         挨踢1024
         段子
     
    # 查看所有新闻
    				new_list = models.News.objects.all()
    				for row in new_list:
    					print(row.title,row.summary,row.news_type.title)
    

    放在一张表上(choices)

    class News2(models.Model):
        title = models.CharField(max_length=32)
        summary = models.CharField(max_length=255)
        news_type_chices = (
            (1, '图片'),
            (4, '挨踢1024'),
            (3, '段子'),
        )
        news_type = models.IntegerField(choices=news_type_chices)
    
    
    # 查看所有新闻
    new_list = News.objects.all()
    for row in new_list: 
      print(row.title,row.summary,row.get_news_type_display()) 显示row.get_news_type_display() (1、4、3)中对应的 ('图片','挨踢1024','段子')

      

  • 相关阅读:
    Tsar 服务器系统和应用信息的采集报告工具
    mysqltuner
    MySQL性能监控工具-MONyog
    tuning-primer.sh mysql 报表
    mytop
    InnoTop
    mysql监控管理工具--innotop
    iotop,pt-ioprofile : mysql IO负载高的来源定位
    PERCONA-TOOLKIT 工具的安装与使用2
    PERCONA-TOOLKIT : pt-ioprofile分析IO情况
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/10588664.html
Copyright © 2020-2023  润新知