Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Peewee mysql无法在TextField上创建唯一索引_Python_Peewee - Fatal编程技术网

Python Peewee mysql无法在TextField上创建唯一索引

Python Peewee mysql无法在TextField上创建唯一索引,python,peewee,Python,Peewee,我正在尝试创建一个具有唯一索引的模型 我的模型是这样的: class ModelA(Model): FieldA = CharField() class ModelB(Model): fieldA = TextField(unique=True) fieldB = CharField(max_length=10) fieldC = BooleanField(default=False) fieldD = ForeignKeyField(ModelA)

我正在尝试创建一个具有唯一索引的模型

我的模型是这样的:

class ModelA(Model):
    FieldA = CharField()

class ModelB(Model):
    fieldA = TextField(unique=True)
    fieldB = CharField(max_length=10)
    fieldC = BooleanField(default=False)
    fieldD = ForeignKeyField(ModelA)
我正在创建如下表:

db.create_tables([ModelA, ModelB])
我的问题是,在创建表之后,modelbielda上没有索引

当我将ModelB.fieldA类型更改为CharField而不是TextField时:

class ModelA(Model):
    FieldA = CharField()

class ModelB(Model):
    fieldA = CharField(unique=True)
    fieldB = CharField(max_length=10)
    fieldC = BooleanField(default=False)
    fieldD = ForeignKeyField(ModelA)
它工作正常,并为ModelB.fieldA创建了索引

有什么原因我不能在TextField类型上创建唯一索引吗? 如何在ModelB.fieldA上创建唯一索引并保持其类型TextField


谢谢

MySQL要求您为文本类型的索引指定前缀:

因此,您需要一个索引,如:

CREATE INDEX my_index ON my_model(text_column (100));