2016-11-13 98 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 正如你可以在我的自述版本看,這是有心肌梗死叉水平模式使用方式: models.py

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) 

有了這個,你可以使用Django水平模式的看法,但不添加現場管理filter_horizo​​ntal 不需要這種變化變化不大: admin.py

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