Meta元数据是用来约束数据表和模型类的
class AddressInfo(models.Model):
"""省市县地址信息"""
address = models.CharField(max_length=200, null=True, blank=True, verbose_name="地址")
pid = models.ForeignKey("self", null=True, blank=True, verbose_name="自关联")
def __str__(self): # python2中是__unicode__(self):
return self.address
class Meta:
# 自定义元数据
db_table = "address" # 自定义表名
ordering = "pid" # 指定按照什么排序 ["pid", ...]
verbose_name = "省市县地址信息"
verbose_name_plural = verbose_name
# abstract = True # 如果我们想让这个模型类不生成数据表,提供给其他模型类来继承的话,这个属性设置为True
# permissions = (("定义好的权限", "权限说明"), )
# managed = False
unique_together = ("address", "note") # 也可以是((), (), ...)
# app_label = "courses" # 如果没在settings.py中添加app,则需要此字段
# db_tablespace= # 定义数据库表空间的名字