1

特定のクエリセットのアクションをフィルタリングしたいと思います。

この時点まで、目的のモデルでモデル ストリームを生成してデータを取得していました。

model_stream(FillingSystem)

この機能を拡張して、このようなものにしたいと思います

model_stream(FillingSystem.objects.filter(client__slug='my-slug')) 

また

model_stream(FillingSystem.objects.filter(client=Client.objects.get(slug='my-slug'))) 

このモデルは次のようになります。

class FillingSystem(models.Model):
    client = models.ForeignKey('accounts.Client')

関連するスラッグ フィールドでストリームをフィルタリングするにはどうすればよいですか?

4

1 に答える 1

3

フィルターを次のように渡すことができるようです**kwargs

model_stream(FillingSystem, filling_system__client__slug='my-slug')

コンテンツのどこtargetに aGenericForeignKeyがありますか (他のものから自由に選択してください)。

Actionモデルに対して逆の関係を宣言する必要がある場合があります。

from django.contrib.contenttypes.fields import GenericRelation
from actstream.models import Action

class FillingSystem(models.Model):
    client = models.ForeignKey('accounts.Client')
    stream_actions = GenericRelation(
                         Action,
                         content_type_field='target_content_type'
                         object_id_field='target_object_id'
                         related_query_name='filling_system')
于 2016-01-10T18:03:22.850 に答える