使用mysql获取django模型charfield中的空白语句

使用mysql获取django模型charfield中的空白语句,mysql,django,django-models,django-database,Mysql,Django,Django Models,Django Database,我刚刚将django应用程序从sqlite3迁移到mysql 5.1.41。我在模型中有一个charfield,定义如下: class HostData(models.Model): Host = models.CharField(max_length=50, null=True) HostStatus = models.CharField(max_length=200, null=True) Alarm = models.BooleanField() 除了HostStatus之外

我刚刚将django应用程序从sqlite3迁移到mysql 5.1.41。我在模型中有一个charfield,定义如下:

class HostData(models.Model):
  Host = models.CharField(max_length=50, null=True)
  HostStatus = models.CharField(max_length=200, null=True)
  Alarm = models.BooleanField()

除了HostStatus之外,所有的操作都是一样的,它通常返回一个类似“Up,waiting”的字符串。然而,在mysql中,它是空白的。我用字符集utf-8创建了我的表。我做错了什么?提前谢谢。

我看不出该型号代码有什么问题

您是如何将数据迁移到MySQL的?当您通过django管理员输入数据时,它是否将数据输入数据库


如果视图正在输入此数据,您可以发布视图代码。

我看不出该模型代码有任何错误

您是如何将数据迁移到MySQL的?当您通过django管理员输入数据时,它是否将数据输入数据库


如果视图正在输入此数据,您可以发布视图代码。

问题在于我将值分配给模型的方式。我不知道为什么它在sqlite中工作得很好,但无论如何它的编码都很糟糕。这就是我所做的:

myarray = stdout_ssh
myobject = test.object.get(id=3)
myobject.Host = stdout_ssh[0]
myobject.HostStatus = status
status = stdout_ssh[1]
myobject.Alarm = False
myobject.save()
我将此更改为:

myarray = stdout_ssh
myobject = test.object.get(id=3)
myobject.Host = stdout_ssh[0]
myobject.HostStatus = stdout_ssh[1]
myobject.Alarm = False
myobject.save()

一切都很好

问题在于我给模型赋值的方式。我不知道为什么它在sqlite中工作得很好,但无论如何它的编码都很糟糕。这就是我所做的:

myarray = stdout_ssh
myobject = test.object.get(id=3)
myobject.Host = stdout_ssh[0]
myobject.HostStatus = status
status = stdout_ssh[1]
myobject.Alarm = False
myobject.save()
我将此更改为:

myarray = stdout_ssh
myobject = test.object.get(id=3)
myobject.Host = stdout_ssh[0]
myobject.HostStatus = stdout_ssh[1]
myobject.Alarm = False
myobject.save()

一切都很好

表中实际有数据吗?查询表时,除HostStatus外,其他字段中都有数据。我从一个非空的数组(包含“Up,waiting”字符串)获取数据。表中实际有数据吗?查询表时,除了HostStatus之外,其他字段中都有数据。我从一个非空的数组中获取数据(包含“Up,waiting”字符串),感谢您的输入Stuart。我找到了答案中描述的问题。没问题。很高兴你明白了。谢谢你的意见斯图尔特。我找到了答案中描述的问题。没问题。很高兴你明白了。