django notes 五:Writing models

models 其实也没什么好说的,就是普通的 python 类

settings 中配置数据库连接

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘mydb‘,
        ‘USER‘: ‘root‘,
        ‘PASSWORD‘: ‘‘,
        ‘HOST‘: ‘127.0.0.1‘,
        ‘PORT‘: ‘3306‘,
    }
}

定义自己的 models

class User(models.Model):
    class Meta:
        verbose_name = u‘用户‘
        verbose_name_plural = u‘用户‘
        db_table = ‘user‘

    user_name = models.CharField(verbose_name=u‘用户名‘, max_length=100)
    pass_word = models.CharField(verbose_name=u‘密码‘, max_length=100)

    def __str(self):
        return self.user_name

class Article(models.Model):
    class Meta:
        verbose_name = u‘文章‘
        verbose_name_plural = u‘文章‘
        db_table = ‘article‘

    title = models.CharField(verbose_name=u‘标题‘, max_length=200)
    content = models.TextField(verbose_name=u‘内容‘)
    create_time = models.DateTimeField(verbose_name=u‘创建时间‘, auto_now_add=True)
    last_modified = models.DateTimeField(verbose_name=u‘最后修改时间‘, auto_now=True)

    def __str__(self):
        return self.title

class Comment(models.Model):
    class Meta:
        verbose_name = u‘评论‘
        verbose_name_plural = u‘评论‘
        db_table = ‘comment‘

    content = models.TextField(verbose_name=u‘评论内容‘)
    article = models.ForeignKey(Article, verbose_name=‘文章‘)
    user = models.ForeignKey(User, verbose_name=u‘评论人‘)

    def __str__(self):
        return self.content[0:20]

执行 migrate 生成数据库表

python manage.py makemigrations
python manage.py migrate

python manage.py sqlmigrate app_name migrate_file_name  可以显示生成的 sql

其它的细节,还有怎么配置多操作多数据库等,直接参考官方文档就行了。

还有  MySQLdb 不支持 python3,  python3 中请使用  PyMySQL

把下面两句话放到你 app 的  __init__.py 中就行了

import pymysql
pymysql.install_as_MySQLdb()
时间: 2024-10-17 02:51:28

django notes 五:Writing models的相关文章

django notes 四: Writing views

views 其实没什么可看的, 在  django  中 views 就是 controller, 是处理请求的, 就是一个普通的 python 方法. 一般从 request 中提取请求参数, 然后处理业务逻辑, 跟数据库和后台服务做交互,取回数据,渲染模板,将返回结果包装进  HttpResponse 然后返回. def view_index(request): return HttpResponse(content='hello world') def view_index(request

Django基础五之django模型层(二)多表操作

目录 一 创建模型 关于db_column和verbose_name 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询(基于join实现的) 进阶练习(连续跨表) 五 聚合查询.分组查询.F查询和Q查询 查询练习 F查询与Q查询 F查询 Q查询 六 ORM执行原生sql语句(了解) 执行原生查询 直接执行自定义SQL 七 Python脚本中调用Django环境(django外部脚本使用models) 八 补充多个app配置models 本节目录 一 创建模型 表和表之间的关系

django复习笔记2:models

关于models,主要想说的是django shell以及生成测试数据的脚本这两部分 先看一个设置了外键的models from django.db import models from django.utils import timezone from django.contrib.auth.models import User class Post(models.Model): author = models.ForeignKey(User) title = models.CharField

django学习笔记之models

djang models 1. 创建model from django.db import models class MyObject(models.Model): attribute1 = models.CharField(max_length=50) 2. 创建记录 2.1  p = MyObject(attribute=xxxx) p.save() 2.2  p = MyObject.objects.create(attribue=xxx) 3. 更新记录 p = MyObject.obj

Django 六大框架之 Models

  先睹为快 from django.db import models class Person(models.Model):     first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)   核心要点 每一个model 是 django.db.models.Model 的子类       --> 数据库表 每一个model属性 是 django.db.models.Fil

Django基础之模型(models)层

目录 Django基础之模型(models)层 一 ORM简介 二.单表查询 Queryset队像和mployee对象 神奇的双下划线的模糊查询 聚合查询 分组查询 F与Q查询 F查询: Q查询 Q查询进阶 查询优化(面试) only与defer select_related与prefetch_related Django ORM中的事务操作 补充知识: Django基础之模型(models)层 Django测试环境搭建:拷贝manage.py中的行代码放到tests.py文件中导入模块 imp

小白学习django第五站-简易案例

首先在setting.py文件中编写数据库配置内容 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'site', 'USER': 'user', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'PORT': '3306', } } 之后在app中models.py文件编写模型映射表 from django.db import models # Create

Django基础五之django模型层(一)单表操作

目录 一 ORM简介 二 单表操作 一.创建表 创建模型 2 更多字段和参数 3 settings配置 4.自定义字段(了解) 二.添加表纪录 方式1 方式2(用的多) 方式3:批量插入 三.查询表纪录 查询API(都是重点) 基于双下划线的模糊查询 四.删除表纪录 五.修改表纪录 三 章节作业 1 图书管理系统 2 查询操作练习 四 xxx 本节目录 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,

Django详解之models操作

D jango 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 1.数据库的连接方式以及设置:在Django中默认使用的数据库类型是sqlite3,如果想要使用其他数据库就需要在settings中设置数据库的连接方式: # Database # https://docs.djang