Django模型与数据库表映射的两种方式

对于Django项目开发的相关笔记

1.models模型类自动生成数据库表

在Django框架中,可以通过手动编写模型类来自动生成数据库表。

这种方式适用于中小型项目,能够精确控制表结构。

简单的来说:通过编写代码来创建数据库

python 复制代码
from django.db import models

class User(models.Model):
    username = models.CharField(max_length=50, unique=True)
    email = models.EmailField(max_length=100, unique=True)
    password = models.CharField(max_length=100)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        db_table = 'auth_user1'
        verbose_name = '用户'
        verbose_name_plural = '用户'
 

关键字段类型说明:

  • CharField: 字符串字段,需指定max_length
  • EmailField: 带有Email验证的字符串字段
  • DateTimeField: 日期时间字段,auto_now_add表示创建时自动设置时间
  • unique=True: 设置字段唯一约束

迁移命令:

bash 复制代码
python manage.py makemigrations

python manage.py migrate

如果仅仅需一个表的话,其他表删除

命令: python manage.py migrate mytest

2.根据表结构自动生成models模型类

反向工程:通过已经设计好的,现存的数据库表生成对应代码到应用文件models.py里面

简单的来说:通过数据库表来创建代码

生成命令:

bash 复制代码
python manage.py inspectdb  --database default auth_user1 > app/models.py
 

> 覆盖写入

>> 追加写入,带from语句,需要删除

ps:obsidain修改代码块颜色

https://forum-zh.obsidian.md/t/topic/40251/3

相关推荐
weelinking8 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
2301_803934619 小时前
Go语言如何做网络爬虫_Go语言爬虫开发教程【指南】
jvm·数据库·python
WL_Aurora9 小时前
Python爬虫实战(六):新发地蔬菜价格数据采集.
爬虫·python
盲敲代码的阿豪9 小时前
Python 入门基础教程(爬虫前置版)
开发语言·爬虫·python
秋910 小时前
windows中安装redis
数据库·redis·缓存
weixin1997010801610 小时前
[特殊字符] 智能数据采集:数字化转型的“数据石油勘探队”(附Python实战源码)
开发语言·python
Cosolar10 小时前
万字详解:RAG 向量索引算法与向量数据库架构及实战
数据库·人工智能·算法·数据库架构·milvus
想唱rap10 小时前
IO多路转接之poll
服务器·开发语言·数据库·c++
SeaTunnel10 小时前
AI 让 SeaTunnel 读源码和调试过时了吗?
大数据·数据库·人工智能·apache·seatunnel·数据同步
次元工程师!10 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow