django 迁移文件,django无法生成迁移文件

  django 迁移文件,django无法生成迁移文件

  如果在第一次迁移时没有在django中配置AUTH_USER_MODEL(用来告诉django认证系统识别我们的自定义模型类),应该怎么做才能使djang _ wx 62 aae 4 be 59 a 4的技术博客_博客

  如果在第一次迁移时没有在django中配置AUTH_USER_MODEL(用来告诉django认证系统识别我们的定制模型类),应该做什么来使Django

  Django认证系统中提供的用户模型类和方法非常方便。我们可以使用这个模型类,但是有些字段不能满足项目的要求。例如,需要保存用户的手机号码,需要在模型类中添加额外的字段。

  django提供了Django . contrib . auth . models . abstract user用户抽象模型类,允许我们继承和扩展字段来使用Django认证系统的用户模型类。

  我们可以在apps中创建Django应用程序用户,并在配置文件中注册用户应用程序。

  在创建的应用程序模型中定义用户的用户模型类

  从django.contrib.auth.models导入AbstractUser

  不继承django提供的用户,而是继承其父类AbstractUser

  类用户(AbstractUser):

  用户模型类

  mobile=models . charfield(max _ length=11,unique=true,verbose _ name=移动电话号码)

  类别元:

  数据库表= ly _用户

  Verbose_name= user

  verbose _ name _ plural=verbose _ name我们定义的用户模型类不能被Django的认证系统直接识别,所以我们需要通知Django的认证系统使用我们在配置文件中定制的模型类。

  在配置文件中设置。

  AUTH_USER_MODEL=users。用户

  的参数设置由“点”分隔,即“应用程序名称”。模型类名`注:Django建议,AUTH_USER_MODEL参数的设置必须在第一次数据库迁移前设置,否则后续使用中可能会出现未知错误。

  非首次迁移时配置AUTH_USER_MODEL的解决方案:

  0.首先导出现有数据库进行备份,然后清除数据库中的所有数据表。选择表,然后右键单击将数据转储到文件- sql插入以导出sql语句。

  1.删除除__init__之外的所有迁移文件。py,位于开发人员创建的所有子应用程序的迁移目录下,只要它们涉及用户。

  2.删除除__init__之外的所有迁移文件。django . contrib . admin . migrations目录中的py。

  3.删除除__init__之外的所有迁移文件。django.contrib.auth.migrations目录中的py。

  4.删除除__init__之外的所有迁移文件。py放在reversion.migrations目录中。

  5.删除除__init__之外的所有迁移文件。xadmin.migrations目录中的py。

  6.接下来,执行数据迁移并检查步骤0中的数据。如果以后要修改用户相关数据,不需要重复这个操作,直接迁移数据即可。

  7.将导出的sql语句重新插入表中,

  -

  签名:代码过万,键盘坏了!

  如果你觉得这篇文章对你帮助不大,记得“推荐”一下。在此感谢!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: