• Python Django 开发 2 数据库


    一半教程用的Django都是1.8以前的版本,导致跟我用的1.8.2的版本用法有些出入,所以只能自己去官网看文档,以下一下是看官方文档而理解的,英语渣渣,可能会有理解有误的地方

    先记录下如何查看django的版本:

    >>>python
    >>>import django
    >>>django.VERSION
    (1, 8, 2,  'final', 0)

    把官网的那段示例Model copy过来,为了加深印象,我自己会手写一边:

    from django.db import models
    
    class Blog(models.Model):
        name = models.CharField(max_length=100)
        tagline = models.TextField()
    
        def __str__(self):              # __unicode__ on Python 2
            return self.name
    
    class Author(models.Model):
        name = models.CharField(max_length=50)
        email = models.EmailField()
    
        def __str__(self):              # __unicode__ on Python 2
            return self.name
    
    class Entry(models.Model):
        blog = models.ForeignKey(Blog)
        headline = models.CharField(max_length=255)
        body_text = models.TextField()
        pub_date = models.DateField()
        mod_date = models.DateField()
        authors = models.ManyToManyField(Author)
        n_comments = models.IntegerField()
        n_pingbacks = models.IntegerField()
        rating = models.IntegerField()
    
        def __str__(self):              # __unicode__ on Python 2
            return self.headline

    抄完结果结构后在dos虚拟环境下我们来验证下有没有错误:

    >>>python manage.py check
    System check identified no issues ( 0 silenced).

    表示没错,接下来生成数据库迁移文件(未同步到数据库):

    >>>python manage.py makemigrations --name frist
    Migrations for 'myLesson'
    001__frist.py:
          - Create model Author
          - Create model Blog
          - Create model Entry

     --name 后面为此次迁移标识的名字,最终生成0001_frist.py,该文件在app目录下/migrations

    最后我们来同步下更改

    >>>python manage.py migrate
        ....省略
        Applying sessions.001_initital... OK

    我用的默认配置的Sqlite3数据库,使用Navicat打开如下:

    红框内是Django为我们定义的实体生成的表

    ---吃饭先

  • 相关阅读:
    onkeypress事件.onkeydown事件.onkeyup事件
    汉诺塔递归算法拙见
    《编写可读代码的艺术》读后总结
    select下拉菜单反显不可改动,且submit能够提交数据
    Freemarker list 的简单使用
    Freemarker导出带格式的word的使用
    Freemarker导出word的简单使用
    Freemarker取list集合中数据(将模板填充数据后写到客户端HTML)
    struts2在配置文件与JSP中用OGNL获取Action属性
    Web下文件上传下载的路径问题
  • 原文地址:https://www.cnblogs.com/New-world/p/4607029.html
Copyright © 2020-2023  润新知