Django活动流过滤外键在目标模型

时间:2016-01-10 17:44:45

标签: python django activity-streams django-activity-stream

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

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

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

如何通过相关的段塞字段过滤流?

1 个答案:

答案 0 :(得分:3)

您似乎只能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')
相关问题