null
如果为True,Django 将用NULL 来在数据库中存储空值。 默认值是 False.
blank 后台管理---》admin中会用,咱们一般用的少
如果为True,该字段允许不填。默认为False。 要注意,这与 null 不同。null纯粹是数据库范畴的,而 blank 是数据验证范畴的。 如果一个字段的blank=True,表单的验证将允许该字段是空值。如果字段的blank=False,该字段就是必填的。
default
字段的默认值。可以是一个值或者可调用对象。如果可调用 ,每有新对象被创建它都会被调用。
primary_key
如果为True,那么这个字段就是模型的主键。如果你没有指定任何一个字段的primary_key=True, Django 就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认的主键行为, 否则没必要设置任何一个字段的primary_key=True。
unique
如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一的
db_index :该字段建立索引
默认db_index=Ture
关于Meta中
--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown
class UserInfo(models.Model):
nid = models.AutoField(primary_key=True,index=True)
username = models.CharField(max_length=32)
mobile=models.CharField(max_length=32)
class Meta:
# 数据库中生成的表名称 默认 app名称 + 下划线 + 类名
db_table = "tablye_name" p
# 联合索引
index_together = [["pub_date", "deadline"]]
# 联合唯一索引
unique_together = ("driver", "restaurant")
# admin中显示的表名称
verbose_name='图书表'
# verbose_name加s
verbose_name_plural
4、ordering--排序
对象默认的顺序,获取一个对象的列表时使用:
ordering = ['-order_date']
它是一个字符串的列表或元组。每个字符串是一个字段名,前面带有可选的"-"前缀表示倒序。前面没有"-"的字段表示正序。使用"?"来表示随机排序。
例如,要按照pub_date字段的正序排序,这样写:ordering = ['pub_date']
按照pub_date字段的倒序排序,这样写:ordering = ['-pub_date']
先按照pub_date的倒序排序,再按照 author 的正序排序,这样写: ordering = ['-pub_date', 'author']
警告:
排序并不是没有任何代价的操作。你向ordering属性添加的每个字段都会产生你数据库的开销。你添加的每个外键也会隐式包含它的默认顺序。