如何使用django模型在mysql中创建中文文本字段?

时间:2012-02-13 05:59:44

标签: django django-models

我创建了一个django模型,并将TextField用于模型的其中一个属性。但是当我查看MYSQL表结构时,它被创建为长文本。我如何编写django来创建一个中型文本。 我的模型结构:

class ModelExample(models.Model):
    AdditionalReqFields=models.TextField(null=True,blank=True)

2 个答案:

答案 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

https://django-mysql.readthedocs.io/en/latest/model_fields/resizable_text_binary_fields.html?highlight=mediumtext#django_mysql.models.SizedTextField

例如:

from django_mysql.models.fields import SizedTextField

AdditionalReqFields = SizedTextField(size_class=3, null=True, blank=True)