python脚本修改表名_修改Django自带auth模块的表名

项目基于一个已有的数据库进行开发,原来的开发框架是web2py,也自带了auth模块,所以原来的数据库中也有auth相关的表。在对Django进行migrate时就产生了冲突(因为库中已经有auth_user等三个表且结构不完全一样),为了不对原来的功能造成影响于是修改django自带auth模块的表名。

方法如下:

1.找到auth模块位置:Python安装环境目录/lib/python3.x/site-packages/django/contrib/auth

2.将auth目录下的migrations目录清空(__init__.py除外)

3.修改models.py文件(先备份一下)

依次找到User、Permission、Group三个model,在model的class Meta中增加db_table = "表名",例如Group

class Group(models.Model):

"""

注释....

"""

name = models.CharField(_('name'), max_length=150, unique=True)

permissions = models.ManyToManyField(

Permission,

verbose_name=_('permissions'),

blank=True,

)

objects = GroupManager()

class Meta:

verbose_name = _('group')

verbose_name_plural = _('groups')

db_table = "dj_auth_group" #自定义表名

def __str__(self):

return self.name

def natural_key(self):

return (self.name,)

再次执行python manage.py makemigrations / python manage.py migrate,数据库中auth模块相关的表名就都变化啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值