美文网首页
2.django之models

2.django之models

作者: 马梦里 | 来源:发表于2017-12-04 22:07 被阅读0次

一、代码


from django.db import models
from django.template.defaultfilters import slugify

# Create your models here.


class User(models.Model):
    username = models.CharField(max_length=128, unique=True)
    password = models.IntegerField(max_length=20)
    email = models.EmailField(null=True, blank=True)
    profile = models.ImageField(upload_to='profile_images', null=True, blank=True)

    def __str__(self):
        return self.username


class Category(models.Model):
    course = models.CharField(max_length=128)
    slug = models.SlugField(unique=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.course)
        super(Category, self).save(*args, **kwargs)

    class Meta:
        verbose_name_plural = 'Categories'

    def __str__(self):
        return self.course


class Page(models.Model):
    category = models.ForeignKey(Category)
    title = models.CharField(max_length=128)
    created_time = models.DateTimeField(auto_now_add=True)
    mod_time = models.DateTimeField(auto_now=True)
    views = models.IntegerField(default=0)
    slug = models.SlugField(unique=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.title)
        super(Page, self).save(*args, **kwargs)

    def __str__(self):
        return self.title

二、知识点

1.CharField字段的max_length为必选项

2.null是针对数据库的,表示字段是否可以为空。blank对前端的表单和admin后台显示而言,默认为False(必填),为True时,可以不填写。

3.slug字段用于生成url,具有唯一性,所以设置unique=True。

对象字段为各自的标题,*args表示接受除字典的任意数量参数,**kwargs用来处理字典;

4.定义了一个创建时间,一个修改时间。

auto_now_add:表示创建的时候自动生成,不能修改;

5.能够输入多行文本的TextField.
6.aoto_now:表示修改的当前时间;
7.每个model,都会自带一个自增的id属性,不需要额外设置。显示每篇文章时,可以利用这个id。

这篇文章关于字段及属性很详细:
http://blog.csdn.net/pugongying1988/article/details/72870264

三、同步至数据库
在应用下创建models的数据文件,记录数据的变动
python manage.py makemigrations
将数据同步至数据库,这步会创建表
python manage.py migrate
有时候由于需要,删除掉产生的数据文件(位于应用内),但是执行上述命令新建不了数据文件,现在就需要运行如下命令:
python manage.py makemigrations
也就是指定应用名;

相关文章

  • 2.django之models

    一、代码 二、知识点 1.CharField字段的max_length为必选项 2.null是针对数据库的,表示字...

  • 6.django数据模型,数据库连接

    1.定义模型类 在子项目的models.py下定义模型类: 2.django连接数据库的相关配置 a).在主项目的...

  • 2018-05-28

    flask之models分开models和解决循环引用 1.分开 models 的目的:为了让代码更方便的管理。2...

  • django之models

    将某个models属性设置为空

  • Beego Models之四

    模型定义 使用orm定义,然后使用cmd方式,自动建表,不过在实际生产中还是直接使用sql操作的,这种模型定义在生...

  • Beego Models 之 一

    模型(Models)- beego ORM 原文 beego ORM 是一个强大的 Go 语言 ORM 框架。她的...

  • 2016年阅读书目

    python 1.python应用及介绍(70%)2.Django by Example(20%) groovy ...

  • #2801~2806# 数学之美(完)

    2801# 数学之美-Statistical Language Models Google 的使命是 "整合全球信...

  • 宏观经济学模型

    Classiflcation of Models Market-clearing models are somet...

  • Pytorch Save & load the model 2

    import torchimport torchvision.models as models Saving an...

网友评论

      本文标题:2.django之models

      本文链接:https://www.haomeiwen.com/subject/uymfixtx.html