用django搭建网站时,需要对数据库进行操作,一般通过models来生成数据库的格式
class fans(models.Model):
name = models.CharField(max_length=255, verbose_name="名字")
fans_add = models.IntegerField(verbose_name="增长")
fans = models.IntegerField(verbose_name="粉丝数")
flag = models.CharField(max_length=255, verbose_name="标记")
datetime = models.DateTimeField(verbose_name="时间")
class Meta:
unique_together = ("name", "datetime")
verbose_name = '粉丝数'
verbose_name_plural = verbose_name
db_table = "fans"
makemigrations app 创建结构
migrate app 生成表
例子:
python -u manage.py makemigrations risk
python -u manage.py migrate risk
risk是创建的app
但是在实际应用中,app总是在不断扩展,数据库的表也是不断的在改进更新,采用正向的方式太麻烦
因此,可以采用反向的方式
在数据库操作完毕后,执行
python manage.py inspectdb
就会生成models的结构,这里简单列一下我创建表时的一些样例
class DjangoSession(models.Model):
session_key = models.CharField(primary_key=True, max_length=40)
session_data = models.TextField()
expire_date = models.DateTimeField()
class Meta:
managed = False
db_table = 'django_session'
class Fans(models.Model):
name = models.CharField(max_length=255)
fans_add = models.IntegerField()
fans = models.IntegerField()
flag = models.CharField(max_length=255)
datetime = models.DateTimeField()
class Meta:
managed = False
db_table = 'fans'
unique_together = (('name', 'datetime'),)
然后执行命令
python manage.py inspectdb > xxx/models.py
xxx为对应的app,比如我要创建test的app,那就是apps/test/models.py