django.db.utils.ProgrammingError: столбец BLOB / TEXT 'Thing', используемый в спецификации ключа без длины ключа - но у меня нет "вещи" в моей модели - PullRequest
0 голосов
/ 13 февраля 2019

Я подключил django к базе данных mysql, проверил db и сохранил результат в models.py

, затем из командной строки anaconda запускаю

python manage.py migrate

Но я получаю некоторые ошибки.Одним из них является

django.db.utils.ProgrammingError: столбец BLOB / TEXT 'Thing', используемый в спецификации ключа без длины ключа

Я проверил свои модели, ноУ меня нет объекта «Thing», только «Thing», то есть таблица и атрибут, который я определил следующим образом:

class Things(models.Model):
    id_things = models.FloatField(db_column='ID_Things', blank=True, null=True)  # Field name made lowercase.
    things = models.CharField(db_column='Things', blank=True, null=True, max_length=256)  # Field name made lowercase.
    id_db = models.FloatField(db_column='ID_db', primary_key=True)  # Field name made lowercase.

    class Meta:
        managed = False
        db_table = 'things'

Итак, я прочитал эту ветку MySQLошибка: спецификация ключа без длины ключа

здесь говорится, что ошибка появляется, когда у нас есть атрибут, определенный как текстовое поле или двоичное поле, сделанный как первичный ключ, но в моей модели "вещь" непервичный ключ ... В чем проблема?

1 Ответ

0 голосов
/ 14 февраля 2019

Только что решил это.Ранее я сохранял объекты с атрибутом Thing в базе данных.Поэтому я удалил это содержимое, и Django не показывает

django.db.utils.ProgrammingError: BLOB / TEXT столбец «Thing», используемый в спецификации ключа без длины ключа

больше.

...