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为我们定义的实体生成的表

---吃饭先

 

转载于:https://www.cnblogs.com/New-world/p/4607029.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值