django中的models反向生成

本文介绍如何使用Django对数据库进行操作,包括通过models定义数据表结构、执行makemigrations和migrate命令创建数据库表,以及利用inspectdb命令从现有数据库生成model结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值