创建 model
- models.py
#coding=utf-8
from django.db import models
class UserMessage(models.Model):
name = models.CharField(max_length=20, verbose_name="用户名")
email = models.EmailField(verbose_name="邮箱")
address = models.CharField(max_length=100, verbose_name="联系地址")
message = models.CharField(max_length=500, verbose_name="留言信息")
class Meta:
verbose_name = "用户留言信息"
verbose_name
理解为对字段的注释
- 关于 Meta 类的一点解释
使用内部的class Meta 定义模型的元数据
Options.verbose_name
A human-readable name for the object, singular:>
verbose_name = "pizza"
If this isn’t given, Django will use a munged version of the class name: CamelCase becomes camel case.
- 参考资料:
在数据库中生成刚创建的 model
- 运行
migrate message
命令:
- 报错,在
settings.py
中进行注册:
- 再 migrate 一次:
- 使用 Navicat 查看一下:
Djang 常用字段类型
CharField 必须要有 max_length 参数
- 添加主键:
- 重新迁移一下:
- 检查一下数据库:
Meta 类中的其他一些内容
Options.db_table
The name of the database table to use for the model:
db_table = 'music_album'
Options.ordering The default ordering for the object, for use when obtaining lists of objects:
ordering = ['-order_date']
This is a tuple or list of strings. Each
string is a field name with an optional“-”
prefix, which indicates
descending order. Fields without a leading“-”
will be ordered
ascending. Use the string”?”
to order randomly.For example, to order by a pub_date field ascending, use this:
ordering = ['pub_date']
To order by pub_date descending, use this:
ordering = ['-pub_date']
Options.verbose_name_plural
The plural name for the object:
verbose_name_plural = "stories"
If this isn’t given, Django will use verbose_name + “s”.