Получение пустого утверждения в модели Django Charfield с помощью MySQL - PullRequest
1 голос
/ 29 октября 2010

Я только что перенес свое приложение django из sqlite3 в mysql 5.1.41.У меня есть поле char в модели, определенной следующим образом:

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

Все работает так же, кроме HostStatus, который обычно возвращает строку типа «Вверх, ожидание».В mysql, однако, это пусто.Я создал свою таблицу с набором символов utf-8.Что я делаю неправильно?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 29 октября 2010

Я не вижу ничего плохого в этом коде модели.

Как вы перенесли свои данные в MySQL? Когда вы вводите данные через администратора django, он вводит данные в базу данных?

Если представление вводит эти данные, вы можете опубликовать код представления.

0 голосов
/ 30 октября 2010

Проблема заключалась в том, как я присваивал значение модели. Я не знаю, почему это хорошо работает в 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()

И все было хорошо.

...