Django学习笔记3-数据库操作

Django Model
* 每一个Django Model都继承自django.db.models.Model
* 在Model中每个属性attribute都代表一个database field
* 通过Django Model API 可以执行数据增删改查,无须写sql语句

建好一个项目后,数据库的位置:project_name/project_name/settings.py 可以查看和修改数据库设置。默认使用sqlite3 如需使用其他数据库在此另作配置。

数据库准备:建表、同步

创建models

编辑settings.py文件,添加一个数据表(形式上是一个类)

class Article (models.Model):
    title = models.CharField(max_length = 100)
    category = models.CharField(max_length=50, blank=True)
    date_time = models.DateTimeField(auto_now_add=True)
    content = models.TextField(blank=True,null=True)

    def __unicode__(self):
  #use title to represent Ariticle object.
        return self.title

    class Meta:  #time decending.
        ordering = ['-date_time']

同步数据库

python mange.py migrate
python mange.py makemigration #有时要先运行这条再运行上面的命令
注意:一定要同步,不然识别不到Article类

数据库使用-Django shell

>>>from article.models import Article
>>>Article.objects.create(title='Hello World', category='Python', content='insert data to database.')
<Article: Hello World>
>>>Article.objects.create(title='Django Blog Leanring', category ='python',content='Django Simple Blog guide.')
<Article: Django Blog Leanring>

查-all和get

  • all查看全部对象
    >>>Article.objects.all()
    [<Article: Django Blog Leanring>, <Article: Hello World>]
  • get按索引查看元素,索引从1开始
    >>>first=Article.objects.get(id=1)
    >>>first.title
    u'Hello World'
    >>>first.date_time
    datetime.datetime(2015, 12, 28, 9, 5, 50, 308000, tzinfo=<UTC>)

>>> first.content ='Hello world, how are you?'
>>> first.content
u'Hello world, how are you?'

>>> first.delete()
(1, {u'article.Article': 1})
>>> Article.objects.all()
[<Article: Django Blog Leanring>]

更多API参考官方文档。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值