2016-10-03 8 views
1

M2Mタイプの関係で2つのモデルが関連しています。私は自分のエンティティを編集するために管理者のfilter_horizontalを使用します。Django filter_horizo​​ntal filtering

ただし、私はfilter_horizontalウィジェットの左側に表示されているものを制御したいと思います。たとえば、特定の基準に一致するエンティティのみをフィルタリングして表示したいとします。

答えて

0

この件名は、Django管理者にとっては常に難しいものです。私はそれを見つけたと思う ...

def get_queryset(self, request): 
    qs = super(BAdmin, self).get_queryset(request) 
    return qs.filter(user=request.user) 

https://docs.djangoproject.com/en/stable/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_queryset

+0

Thxを!私はそれがあなたが編集しているモデルをキャッチすると思いますが、 "filter_horizo​​ntal"の左のボックスにあらかじめ設定されている "子供" –

3

クラスBAdmin(admin.TabularInline):私は、インラインdefenitionに、あなたがこのような何かを行うことができたとし!

class MyModelAdmin(admin.ModelAdmin): 
def formfield_for_manytomany(self, db_field, request, **kwargs): 
    if db_field.name == "cars": 
     kwargs["queryset"] = Car.objects.filter(owner=request.user) 
    return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs) 

ModelAdmin.formfield_for_manytomany(db_field, request, **kwargs)

関連する問題