我有一个带有标签的产品模型,标签可以使用多种语言。当我得到该产品的实例时,我有一个product.tags
经理。
我想知道是否有一种方法可以过滤连接到产品实例的标签,当我将其传递给 serializer 时,我只会得到标签带有序列化器输出的单一语言。
class Product(models.Model):
...
tags = models.ManyToManyField(Tag)
...
class Tag(models.Model)
text = models.CharField(max_length=32)
language = models.CharField(max_length=2)
class ProductSerializer(serializer.ModelSerializer):
tags = TagSerializer(many=True)
...
我能够手动过滤它们,然后将它们添加到数据响应中,如下所示:
tags_query = product.tags.filter(language=lang)
tag_serializer = TagSerializer(lang,many=True)
但是我想知道这是否可以通过序列化器完成?