Django从父表中查询子表

这可能是一个非常基本的问题,我经过大量搜索后尽力解决。

我正在尝试为我的表结构提供I18n支持。

我期望的输出是获取给定语言的所有主要类别ID和名称。

class MainCategory(models.Model):
    main_category_id = models.PositiveSmallIntegerField(primary_key=True)
    image = models.URLField(null=True)

    class Meta:
        db_table = 'lookup_main_category'


class MainCategoryTranslation(models.Model):
    main_category = models.ForeignKey(MainCategory, on_delete=models.CASCADE)
    name = models.CharField(max_length=30)
    language_id = models.PositiveSmallIntegerField()

    class Meta:
        db_table = 'lookup_main_category_translations'

我通过使用以下查询找到了解决方案。但是我需要反向方法(首先获取主要类别,然后查找相应的翻译),而无需多次击中数据库。

main_category_trnanslations = MainCategoryTranslation.objects.filter(language_id='en').select_related('main_category')

我的序列化器类应如下所示。但是MainCategory模型中没有名称字段。我也该如何解决?

class MainCategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = MainCategory
        fields = ['main_category_id', 'name', 'image', ]

输入“ en”的预期输出应该在下面。

  [
      {
        "main_category_id": "1",
        "main_category_name": "foo_en",
      },
      {
        "main_category_id": "2",
        "main_category_name": "bar_en",
      }
    ]