Django easymode i18n вдруг выходит из строя? - PullRequest
0 голосов
/ 21 июня 2011

Я начал получать:

OperationalError at /admin/contact_us/contact_details/
(1054, "Unknown column 'contact_us_contact_details.address_title' in 'field list'")
Request Method: GET
Request URL:    http://216.119.153.206/admin/contact_us/contact_details/
Django Version: 1.4 pre-alpha SVN-16280
Exception Type: OperationalError
Exception Value:    
(1054, "Unknown column 'contact_us_contact_details.address_title' in 'field list'")
Exception Location: /opt/python2.7/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg/MySQLdb/connections.py in defaulterrorhandler, line 36

Моя модель выглядит так (Синглтон):

@I18n('address_title','contact_info','contact_form_header','accepted_message','error_message')
class Contact_details(models.Model):
    class Meta:
        verbose_name = 'Contact Details'
        verbose_name_plural = 'Contact Details'
    address_title = models.CharField(max_length=255,blank=True,null=True)
    title_font = models.ForeignKey(Font,blank=True,null=True)
    contact_form_header = models.CharField(max_length=255,blank=True,null=True)
    contact_form_header_use_title_font = models.NullBooleanField(default=True,blank=True,null=True)
    google_map_link = models.TextField(blank=True,null=True)
    contact_info = models.TextField(blank=True,null=True)
    accepted_message = models.TextField(blank=True)
    error_message = models.TextField(blank=True)


    def save(self):
        self.id = 1
        super(Contact_details,self).save()

    def delete(self):
        pass

    def __unicode__(self):
        return 'Contact Us Details'

Я использую Юг для миграции БД в производственную среду. Когда я использую MySQL Workbench для проверки таблицы contact_us_contact_details, я вижу, что присутствуют address_title_en и address_title_fr (только поддерживаемые языки)

У кого-нибудь есть идеи, откуда возникает эта ошибка? Я был в процессе установки Haystack и Whoosh, когда я столкнулся с этой проблемой.

EDIT : В целях тестирования я добавил столбец address_title в БД MySQL, и он работал (хорошо, что в этом столбце перестали работать ошибки, и в следующем столбце он начал работать)

1 Ответ

0 голосов
/ 18 июля 2011

Привет, вы можете проверить http://packages.python.org/django-easymode/i18n/index.html#use-lazy-foreign-keys и http://packages.python.org/django-easymode/i18n/index.html#haystack Если вы будете следовать этим инструкциям, все должно работать нормально.

Суть:

Зарегистрируйте ваши модели для стога сена внутри модуля models.py, а не в модуле search_indexes.

...