私は多項選択問題のモデルを作成します。各質問に5つの選択肢があります 回答そして、それはそれに基づいてユニークであるために各質問オブジェクトが必要です 質問と回答。そして、私はこのようなモデルを設計します。私はmigrate
を実行するとmysql dbバックエンドでdjangoに独自のTextFieldを作成する方法はありますか?
from django.db import models
class MultipleChoiceQuestion(models.Model):
ANSWERS = [('a', 'a'), ('b', 'b'), ('c', 'c'), ('d', 'd'), ('e', 'e')]
question = models.TextField()
a = models.TextField()
b = models.TextField()
c = models.TextField()
d = models.TextField()
e = models.TextField()
true_answer = models.CharField(max_length=1, choices=ANSWERS)
class Meta:
unique_together = [('question', 'a', 'b', 'c', 'd', 'e')]
は、MySQLのこのエラーを与える:私はこのエラーがhereを議論してきた
1170, "BLOB/TEXT column 'question' used in key specification without a key length"
ました。しかし、 CharField
を使用することはできません。長いテキスト (10000文字以上まで)を保存する必要があるため、小さな制限があります。
sqlite3とpostgresqlはこれを行うことができます(私はdjangoがTEXT
の 鍵の仕様について不平を言っていないことを意味します)。
私がこの djangoアプリをデプロイするサーバーがmysql、postgresqlを提供しないため、mysqlを使用する必要がある理由です。
私はこれを達成できましたか?
ありがとう – fpghost