1

アプリケーションを multilingual-ng を使用するように切り替えようとしていますが、残念ながらオンラインのドキュメントや FAQ はほとんどありません。誰かが私の練習で何が起こっているのかを教えてくれることを願っています.

以下は私のモデルです

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'
4

3 に答える 3

1

最新のリビジョンからインストールしたところ、エラーが消えました:

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

このリリースを使用するとエラーはなくなりましたが、まだサポートされていないと表示されます。私は Django 1.2.4 にロールバックする傾向がありますが、まだこれを理解しようとしています。

前述のように、django-naniプロジェクトは有望ですが、まだアルファ段階です。今日の改訂の時点で、どのタイプのモデル関係でも作業する方法が見つかりませんでした。彼らはすぐにそれに取り組んでいます。

于 2011-06-19T17:26:20.787 に答える
1

django-multilingual-ng はサポートされなくなり、多くの頭痛の種になるため、使用しないでください。django-multilingual-ng の作成者は、 django -naniという名前の新しい有望なプロジェクトを開始しました。信頼性が高く、Django 1.3 と互換性がある必要があります。

私の場合、この問題は Django 1.2.4 では見られなかったので、 Django 1.2.5 リリース ノートを確認したら、そのバージョンに戻すことをお勧めします。

于 2011-05-18T13:27:16.330 に答える
0

私は同じ問題を抱えており、1.2.4 から 1.2.7 の新しいセキュリティ リリースにアップグレードしています。Ng は既に使用されており、サポートが終了したにもかかわらず、スワップ アウトすることはできません。force_having私たちが住んでいる世界だけです。djangoクエリシステムでの役割に関するドキュメントが見つかりません。

彼らが新しいシステムに取り組んでいることを嬉しく思います。誰かがそれについて何か知識を持ってforce_havingいるなら、大歓迎です。

于 2011-09-12T17:11:20.920 に答える