ошибка на странице администратора при редактировании с использованием django-multilingual-ng на django 1.3 - PullRequest
1 голос
/ 06 мая 2011

Я пытаюсь переключить свое приложение на использование многоязычности, но, к сожалению, в Интернете очень мало документации и часто задаваемых вопросов.Я надеюсь, что кто-то сможет рассказать, что происходит с моей практикой,

моя модель

class Main(models.Model):
    """ Main Class for all categories """
    slug       = models.SlugField()
    is_active  = models.BooleanField(default=True)
    site       = models.ForeignKey(Site)
    parent     = models.ForeignKey('self', blank=True, null=True)

    class Translation(TranslationModel):
        title               = models.CharField(max_length=100)
        label               = models.CharField(max_length=100, blank=True, null=True)
        description         = models.TextField(blank=True, null=True)
        disclaimer          = models.TextField(blank=True, null=True)
    class Meta:
        unique_together = (("slug", "parent"))

    def __unicode__(self):
        return self.title if self.title is not None else _("No translation")

, а моя admin.py

class MainAdmin(MultilingualModelAdmin):
    ''' Multilingual interface for Main category '''

class ListAdmin(MultilingualModelAdmin):
    ''' Multilingual interface for Main category '''



admin.site.register(Main, MainAdmin)
admin.site.register(List, ListAdmin)

Когда я получаю доступ к своей панели администратора, я могу видеть модель, список элементов, добавлять новые элементы, но когда я пытаюсь изменить существующий элемент или удалить его, я получаю следующее сообщение об ошибке

  Environment:


Request Method: GET
Request URL: http://mazban.com/admin/category/main/1/

Django Version: 1.3
Python Version: 2.6.1
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'compressor',
 'django.contrib.gis',
 'multilingual',
 'mazban.lib.apps.core',
 'mazban.lib.apps.gis',
 'mazban.apps.global',
 'mazban.apps.listing',
 'mazban.apps.listing.post',
 'mazban.apps.listing.home',
 'mazban.apps.listing.engine',
 'mazban.apps.listing.category']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'mazban.lib.MiddleWare.custom.RequestIsMobile')


Traceback:
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/contrib/admin/options.py" in wrapper
  307.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
  93.                     response = view_func(request, *args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  79.         response = view_func(request, *args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/contrib/admin/sites.py" in inner
  197.             return view(request, *args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/multilingual/admin.py" in wrapped
  31.         resp = func(cls, request, *args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/multilingual/admin.py" in change_view
  277.         return super(MultilingualModelAdmin, self).change_view(*args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapper
  28.             return bound_func(*args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/utils/decorators.py" in _wrapped_view
  93.                     response = view_func(request, *args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/utils/decorators.py" in bound_func
  24.                 return func(self, *args2, **kwargs2)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/db/transaction.py" in inner
  217.                 res = func(*args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/contrib/admin/options.py" in change_view
  947.         obj = self.get_object(request, unquote(object_id))
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/contrib/admin/options.py" in get_object
  451.             return queryset.get(pk=object_id)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/db/models/query.py" in get
  341.         clone = self.filter(*args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/db/models/query.py" in filter
  550.         return self._filter_or_exclude(False, *args, **kwargs)
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/db/models/query.py" in _filter_or_exclude
  568.             clone.query.add_q(Q(*args, **kwargs))
File "/users/mo/Projects/python-envs/mazban/lib/python2.6/site-packages/django/db/models/sql/query.py" in add_q
  1172.                             can_reuse=used_aliases, force_having=force_having)

Exception Type: TypeError at /admin/category/main/1/
Exception Value: add_filter() got an unexpected keyword argument 'force_having'

Ответы [ 3 ]

1 голос
/ 19 июня 2011

Я установил последнюю версию и ошибка исчезла:

$ pip install git+https://github.com/ojii/django-multilingual-ng.git

Несмотря на то, что ошибка исчезла при использовании этого выпуска, он по-прежнему говорит, что не поддерживается. Я сильно склонен откатиться на Django 1.2.4, но я все еще пытаюсь это выяснить.

Как уже упоминалось, проект django-nani является многообещающим, но он все еще находится в стадии альфа. Я не мог найти способ работать с любым типом отношений модели на сегодняшний день. Они будут работать над этим в ближайшее время .

1 голос
/ 18 мая 2011

Не используйте django-multilingual-ng, так как он больше не поддерживается и принесет вам много головной боли. Автор django-multilingual-ng начал новый многообещающий проект под названием django-nani . Он должен быть надежным и совместимым с Django 1.3.

Что касается меня, эта проблема не отображалась в Django 1.2.4, поэтому вы можете вернуться к этой версии, как только прочитаете примечания к выпуску Django 1.2.5 .

0 голосов
/ 12 сентября 2011

У меня та же проблема, при обновлении с 1.2.4 до новых выпусков безопасности в 1.2.7.Ng уже используется и не может быть заменен, даже если поддержка для него прекращена.Просто мир, в котором мы живем. Я не могу найти никакой документации о роли force_having в системе запросов django.

Рад, что они работают над новой системой.Если у кого-то есть знания по force_having, это будет с благодарностью.

...