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')
我想过滤特定查询集的操作。
到目前为止,我一直在通过在所需模型上生成模型流来获取数据。
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')