Django——遇到的一些坑(问题)

配置Django提供的可视化工具

  • 第一步

    Django——遇到的一些坑(问题)

     

     

  • 第二步

    Django——遇到的一些坑(问题)

     

     

    Django——遇到的一些坑(问题)

    尝试连接成功

    Django——遇到的一些坑(问题)

     Django——遇到的一些坑(问题)

     

     

 

 

已经创建好一个表了,并且插入了数据,此时要增加一些字段

  • 方法一

    class Book(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharFiled(max_length=20)
    price = models.IntegerField()
    publish_date = models.DateField()
    publisher = models.CharField(max_length=16)
    author = models.CharField(max_length=16,null=True,default='牧羊小董')
    在添加的字段里面设置这样的属性:null=True,default='牧羊小董'。
    再次输入:
    python manage.py makemigrations
    python manage.py migrate
    这样新字段就更新进去了。
  • 方法二:删除对应的表,重新创建表

    如果删除一个表?

    终端输入:
    python manage.py makemigrations
    会在migrations目录下,产生一个000x_initial.py 临时脚本文件,但是此时脚本不执行。
    再次输入:
    python manage.py migrate
    Django会自动执行000x_initial.py文件,就会在对应的数据库中产生一个对应表。

    我们接下来,先将临时脚本文件000x_initial.py 删除,再次输入指令:

    class Book(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharFiled(max_length=20)
    price = models.IntegerField()
    publish_date = models.DateField()
    publisher = models.CharField(max_length=16)
    author = models.CharField(max_length=16,null=True,default='牧羊小董')
    python manage.py makemigrations
    会再次产生一个临时文件000x_initial.py
    但是当我们再次输入֕python manage.py migrate
    然而并没有执行此临时文件,我原来的表没有更新,没有增加新的字段author
    • 问题在于指令两个命令的过程,没有研究透彻。

      终端输入这个指令:
      python manage.py makemigrations
      会在migrations目录下,产生一个000x_initial.py临时脚本文件,但是此时脚本不会执行
      再次python maage.py migrate
      Django会自动执行000x_initial.py文件,并且会在django_migrations这个表中,留有一条执行过这个脚本文件的记录,就会在对应的数据库中生成一个对应表。
      当下次再次执行脚本文件时,会在和这个django_migrations表中查询是否执行过此临时文件,如果执行过,则不再执行。

      所以,我们如果想删除对应表在重新执行,我们应该删除000x_initial.py临时文件并且删除django_migrations表中相应的执行过的记录,还要删除mysql数据库中对应的这个表。

      Django——遇到的一些坑(问题)

      Django——遇到的一些坑(问题)

      • 删除mysql数据库中对应的表

        Django——遇到的一些坑(问题)

         

         

        Django——遇到的一些坑(问题)

      • 删除临时表

      • 删除表记录

 

利用可视化工具,插入时间问题

插入的时间有一个时区问题,我们应该在settings配置文件中:
# TIME_ZONE = 'UTC' 不用UTC
TIME_ZONE = 'Asia/Shanghai'

 

上一篇:使用django-crontab实现定时任务--李继昂的技术博客


下一篇:keepalived配置高可用