Django activity 目标模型中外键的​​流过滤器操作

Django activity stream filter Actions by foreignkey in target model

我想过滤特定查询集的操作。

到目前为止,我一直在通过在所需模型上生成模型流来获取数据。

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

如何按相关的 slug 字段过滤流?

看来你可以 pass your filters 作为 **kwargs:

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

其中 target 是您内容的 GenericForeignKey(随意选择 from the others)。

您可能必须声明与 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')