1

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 を除いて、すべて同じように機能します。HostStatus は通常、「Up, waiting」のような文字列を返します。ただし、mysql では空白です。文字セットをutf-8に設定してテーブルを作成しました。私は何を間違っていますか?前もって感謝します。

4

2 に答える 2

1

そのモデル コードに問題はありません。

どのようにしてデータを MySQL に移行しましたか? django admin 経由でデータを入力すると、データベースにデータが入力されますか?

ビューがこのデータを入力している場合は、ビュー コードを投稿できますか。

于 2010-10-29T09:37:29.903 に答える
0

問題は、モデルに値を割り当てる方法でした。なぜ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()

そして、すべてが大丈夫でした。

于 2010-10-30T06:24:40.573 に答える