我创建了一个django模型,并将TextField用于模型的其中一个属性。但是当我查看MYSQL表结构时,它被创建为长文本。我如何编写django来创建一个中型文本。 我的模型结构:
class ModelExample(models.Model):
AdditionalReqFields=models.TextField(null=True,blank=True)
答案 0 :(得分:4)
简而言之,你不能。
更长的时候,如果CharField
(由VARCHAR
支持)是合适的,那么这是一个选项,或创建自己的TextField
子类并覆盖db_type(self, connection)
方法。
另请参阅:https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#django.db.models.Field.db_type
答案 1 :(得分:0)
django-mysql
包包含一个 SizedTextField
,您可以将其设置为使用 MEDIUMTEXT
。
例如:
from django_mysql.models.fields import SizedTextField
AdditionalReqFields = SizedTextField(size_class=3, null=True, blank=True)