Ich versuche, meine Django-App mit einer MySQL-Datenbank zu verbinden. Ich habe die Datenbank erstellt und versucht, die App mit python manage.py migrate
zu migrieren. An dieser Stelle bekomme ich folgende Fehlermeldung:Django-App kann nicht migriert werden - MySQL wirft einen OperationalError "Zu große Skalierung angegeben"
django.db.utils.OperationalError: (1425, "Too big scale 100 specified for column 'score'. Maximum is 30.")
ich das Objekt in models.py
geprüft. Es sieht wie folgt aus:
class Para(models.Model):
...
text = models.CharField(max_length=20000)
score = models.DecimalField(max_digits=100, decimal_places=5)
def __unicode__(self):
return self.text[:20]
So änderte ich den max_digits
bis 20, lief makemigrations
und versuchte es erneut zu migrieren. Aber ich bekomme immer denselben Fehler. Ich bin neu in MySQL und nicht sicher, was ich falsch mache.
Jede Hilfe sehr geschätzt. Vielen Dank!
Danke, das war es. Es wirft jetzt einen weiteren Fehler auf - "'Zeilengröße zu groß. Die maximale Zeilengröße für den verwendeten Tabellentyp, BLOBs nicht mitgerechnet, ist 65535. Dies beinhaltet Speicheraufwand, überprüfen Sie das Handbuch. Sie müssen einige Spalten in TEXT oder BLOBs ändern' "Aber der Erste ist weg! – aaravam
mit Feldern wie 'text = models.CharField (max_length = 20000)' ist es ziemlich wahrscheinlich, dass Sie die maximale Zeilengröße erschöpfen werden. Bitte posten Sie eine weitere Frage mit Ihrem vollständigen Modell. – e4c5