官方文档:https://docs.djangoproject.com/zh-hans/3.2/ref/models/fields/
# models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=50, default="", verbose_name="书名")
price = models.DecimalField(max_digits=7, decimal_places=2, verbose_name="价格")
info = models.CharField(max_length=100, default="", verbose_name="描述")
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER': 'root',
'PASSWORD': '1234',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
C:\Users\520>cd..
C:\Users>cd..
C:\>cd program files\mysql\mysql server 8.0\bin
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -uroot -p
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.0.25 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysite;
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_mysite |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
| myapp_book |
+----------------------------+
11 rows in set (0.00 sec)
mysql>
auto_now=True,更新时间,设置为每次修改的时间
auto_now_add=True,创建时间,设置为第一次创建的时间
default=“xxxx/xx/xx”,每次设置指定时间
https://docs.djangoproject.com/zh-hans/3.2/ref/models/fields/
# models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=50, default="", verbose_name="书名")
price = models.DecimalField(max_digits=7, decimal_places=2, verbose_name="价格")
info = models.CharField(max_length=100, default="", verbose_name="描述")
market_price = models.CharField(max_length=50, default="", verbose_name="市场价")
class Author(models.Model):
name = models.CharField(max_length=11, verbose_name="姓名")
age = models.IntegerField(verbose_name="年龄")
email = models.EmailField(verbose_name="邮箱")
mysql> show tables;
+----------------------------+
| Tables_in_mysite |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
| myapp_author |
| myapp_book |
+----------------------------+
12 rows in set (0.00 sec)
mysql> desc myapp_author;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | bigint | NO | PRI | NULL | auto_increment |
| name | varchar(11) | NO | | NULL | |
| age | int | NO | | NULL | |
| email | varchar(254) | NO | | NULL | |
+-------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql>
在MySQL中,表名默认为:应用名_模型类小写