简单示例
from django.db import models
class Province(models.Model):
"""省份表"""
province_id = models.IntegerField(primary_key=True, help_text='省份id')
province_name = models.CharField(max_length=20, help_text='省份名称')
class Meta:
db_table = 'Province'
ordering = ['province_id']
verbose_name = '省份'
verbose_name_plural = '省份'
def __str__(self):
return self.province_name
max_length字符串类型时需要设置,primary_key主键,help_text,在admin中能看到这个信息。
class Meta设置数据库的属性,db_table是数据库名称,ordering排序,verbose_name,verbose_name_plural是在admin中查看到的数据库名字。__str__是python的魔法方法,打印这个类能出现return的值。
外键
外键设置:(table_name, on_delete=models.CASCADE)级联操作。
province = models.ForeignKey('Province', help_text='省份id', on_delete=models.CASCADE)
更新数据表
python manage.py makemigrations
python manage.py migrate
ps:如果不小心搞乱了数据库的东西,就去django_migrations中删除你添加的数据库信息,然后把你创建的table全部删了,再重新执行迁移。