2016-11-13 9 views
1

こんにちは私はDjango 1.10でプロジェクトをやっています。このプロジェクトでは、私はdjango-smart-selectを管理パネルの入力に使用しています。 正常に動作します。しかし、私がfilter_horizo​​ntal/filter_verticalを使用すると、多くのフィールドを連鎖させるためには、連鎖はそれ以上は機能しません。 githubページには解決策がありませんでした。 どうすればこの問題を解決できますか?このような別のアプリはありますか?Djangoは多対多のフィールドを選択しますfilter_horizo​​ntal/filter_verticalは連鎖を許可しません

答えて

0

私は同じ問題を抱えていると私は図書館からこのフォークでそれを解決:https://github.com/jorgecorrea/django-smart-selects をあなたは私のREADMEバージョンで見ることができるように、これはMIフォークで水平モードで使用する方法です: models.py

あなたが水平モードのビューをジャンゴ使用することができますが、この変更が必要とされていないfilter_horizo​​ntal adminにフィールドを追加しないこの小さな変更に
from smart_selects.db_fields import ChainedManyToManyField 

class Publication(models.Model): 
    name = models.CharField(max_length=255) 

class Writer(models.Model): 
     name = models.CharField(max_length=255) 
     publications = models.ManyToManyField('Publication', 
               blank=True, 
               null=True) 

class Book(models.Model): 
     publication = models.ForeignKey(Publication) 
     writer = ChainedManyToManyField(
      Writer, 
      horizontal=True, 
      verbose_name='writer', 
      chained_field="publication", 
      chained_model_field="publications", 
     ) 
     name = models.CharField(max_length=255) 

: admin.pyに

@admin.register(Book) 
class BookAdmin(admin.ModelAdmin): 
    filter_horizontal = ('writer',) 
    # don't do that because you will be changing the widget. 
関連する問題