问题:

django执行迁移文件报错struct.error: unpack requires a buffer of 4 bytes

我使用的版本说明

      django:2.2版本
      djangorestframework:3.11版本
      python3.6版本

解决

查了下资料,没有很详细的说明,我是因为需要使用继承django自带的User模型并自定义一个模型类,需要配置AUTH_USER_MODEL,但是我不是第一数据库迁移的时候就配置了这个,所以我需要把所有的表删了,而且要把所有的迁移文件删了,再重新执行python manage.py makemigration跟migrate,但是执行makemigrations的时候出现了这个错误,找了半天都没有相同的问题,有一个大概是跟我差不多,但是它是换了djangorestframework的版本解决了,我试着也照他说的覆盖版本,但是没用。然后找了个大概相似的问题,看了下解决办法,试了了,成功了。

      解决办法:
      第一种办法:把settings.py文件中的USE_I18N改为False再执行迁移,就可以了。具体是什么原因我也不清楚,因为我看别人的视频中3.7版本跟django2.2这样做的时候不会报这种错误。
      第二种办法:重新创建virtualenv环境,这个暂时没有试过,如果第一种办法没有解决的,可以尝试下第二种办法。
                  

大概相似问题的解决办法链接

相关解决链接