在这段代码中我有:
IDChuyenBien = models.BinaryField(primary_key=True, max_length=8)
但是当我 makemigrations 和 migrate 时出现错误:
_mysql.connection.query(自身,查询)
django.db.utils.OperationalError:(1170,“在密钥规范中使用了 BLOB/TEXT 列 'IDChuyenBien',但没有密钥长度”)
虽然我使用了上面的 max_length ,但我使用的是 Django 4.2.9 连接到 Mysql
我按照以下文档操作:
https://docs.djangoproject.com/en/4.2/ref/models/fields/
我也尝试过其他一些办法,但还是没有解决,因为要求传输的数据是二进制的,并且会直接保存到数据库中,而之前我没有使用主键的时候,在mysql中迁移时它也是LONGBLOB。同时只需要8字节或10字节的BINARY类型
所有行的主键应该是唯一的。 二进制字段只意味着0或1。它怎么可能对于超过2行是唯一的。 你需要的是 Biginteger 字段。