django在mysql上部署时出现#1071错误“指定的密钥太长”

fiei3ece  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(152)

请不要将其标记为dupliacte。我已经在社区上搜索了三天,我正在使用阿里云服务进行托管,我得到了这个错误django.db.utils.operationalerror:(1071,'指定的密钥太长;最大密钥长度是767字节),当我运行python3 manage.py migrate时,我的问题与这里提到的类似,在mysql上部署django会出现#1071错误“指定的密钥太长”我的model.py文件是`

from django.db import models

class SendRequest(models.Model):
    rid=models.AutoField(primary_key=True)
    uname=models.CharField(max_length=256)
    problemcode=models.CharField(max_length=256)
    languageused=models.CharField(max_length=50)
    question=models.TextField()
    description=models.TextField()
    codesnapshot=models.TextField()
    status=models.BooleanField(default=False)
    date = models.DateTimeField(default=datetime.now,null=False)

class ReceiveRequest(models.Model):
    rrid=models.ForeignKey(SendRequest,on_delete=models.CASCADE)
    uname=models.CharField(max_length=256)
    class Meta:`enter code here`
        unique_together = (("rrid", "uname"),)`

当我使用sendrequest模型时,我没有得到任何错误,但是当我添加receiverequest表时,我得到了上面的错误my settings.py是

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME'  : 'dbdiv',
        'USER'  :  '********',
        'PASSWORD':'********',
        'HOST'  :  'rm-6gjg9lt559w00uv6yeo.mysql.ap-south-1.rds.aliyuncs.com',
        'PORT'  :  '3306',
        'OPTIONS': {
            'init_command':'SET character_set_connection=utf8,collation_connection=utf8_unicode_ci',
        },

    }
}

我尝试了所有可能的方法,再次删除和添加数据库,然后用 CREATE DATABASE dbdiv CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 请帮帮我。我的问题类似于django在mysql上部署时给出的#1071错误“指定的密钥太长”的回答

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题