Django--models基础


需求

了解models字段和参数​


速查

models.py

1
2
3
class UserInfo(models.Model):
    ctime = models.DateTimeField(auto_now=True)         #自动添加创建时间
    uptime = models.DateTimeField(auto_now_add=True)    #自动添加更新时间
1
2
class UserInfo(models.Model):
    img = models.ImageField(null=True,blank=True,upload_to="upload")       #图片路径


知识点

  • models中类,代表数据库中的表;创建的对象,代表一行数据;对象.id或对象.value,代表某一项数据。

  • 数据库表被创建的时候,默认有一个自增的ID列

  • auto_now=True,创建时间自动添加;auto_now_add=True,修改时间自动添加。

  • now=True,此字段可以为空;default=‘xxx’,设定字段的默认值。

  • null=True,数据库可以为空;blank=True,后台输入可以为空;
  • ImageField记录的是图片路径,参数upload_to="upload"可以指定传都哪里

详细

1、DateTimeField中的auto_now和auto_now_add

app01/models.py
1
2
3
4
5
6
7
8
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    ctime = models.DateTimeField(auto_now=True)         #自动添加创建时间
    uptime = models.DateTimeField(auto_now_add=True)    #自动添加更新时间
 
    #Django特有方法,输出对象(models.table.object.all()获取的是一个对象)的某个值;
    def __unicode__(self):
        return self.name

经过访问index页面,触发函数,生成一条数据

views.py
1
2
3
4
5
6
from app01 import models
def index(request):
    models.UserInfo.objects.all().delete()    #清空数据
    models.UserInfo.objects.create(name='user1')   #创建user1
    after_list = models.UserInfo.objects.all()    #获取all()的对象
    print after_list[0].ctime    #打印第一条数据的创建时间
IDE


navicat


2、models.ImageField()

models.py
1
2
class UserInfo(models.Model):
    img = models.ImageField(null=True,blank=True)
browser


数据库


还可指定路径
1
2
3
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    img = models.ImageField(null=True,blank=True,upload_to="upload")



















posted @ 2016-03-22 22:37  大亮头  阅读(1456)  评论(0编辑  收藏  举报