码迷,mamicode.com
首页 > 其他好文 > 详细

django-2 models

时间:2017-09-11 19:57:40      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:creat   false   自动   sql   数据   继承   rgba   自带   name   

一个model 对应DB的一张表

 

models 以类的形式表现: 一些字段、数据的一些行为

对类、类的对象 操作,无需写SQL = >  object relation mapping  ORM 对象关系映射

 

1. 在应用app:blog 的根目录下 ,有models.py, django自动生成的

  在其中创建类(一张数据表),继承 models.Model

  在类中创建字段,即属性

class Article(models.Model):
    title = models.CharField(max_length=32,default=‘Title‘)
    content = models.TextField(null=True)

  

2. 将类映射成表,在项目myblog 的manage.py 同级目录下执行:

不加应用名字,则默认该项目下所有应用都生成该表

python manage.py makemigrations blog  

技术分享

 

3. 执行迁移动作,移植了一堆东西,其中包括settings.py文件中自带的应用

python manage.py migrate

技术分享

 

4. 查看migrations文件夹下果真有个0001_initial.py ,其中有创建model的内容:

class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name=‘Article‘,
            fields=[
                (‘id‘, models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name=‘ID‘)),
                (‘title‘, models.CharField(default=‘Title‘, max_length=32)),
                (‘content‘, models.TextField(null=True)),
            ],
        ),
    ]

 

5. 查看SQL,在manage.py同级目录执行:要加上app 名字 和 文件id

 python manage.py sqlmigrate blog 0001

技术分享

 

 6. 查看根目录下db.sqlite3中已经有这个表及对应字段了,添加一条数据

7. 取出:

7.1 在应用blog 的 views.py 中 :   primerykey =1  , 也可以title 其他字段搜索

from . import models
artile = models.Article.objects.get(pk=1)
def index(request):
    article111 = models.Article.objects.get(pk=1)
    return render(request,‘blog/index.html‘,{‘hello‘:‘开花花??‘,‘article‘:article111})

 

7.2 在templates/blog/index.html中写:效果就出来了,需要注意的是此处写的是   表名.字段名

<h1>{{ article.title }}</h1>
<h1>{{ article.content }}</h1>
<h1>{{ article.id }}</h1>

  技术分享

 


 

 

 

django-2 models

标签:creat   false   自动   sql   数据   继承   rgba   自带   name   

原文地址:http://www.cnblogs.com/vivivi/p/7506166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!