Получение пустого OrderedDict через Serializer при извлечении

Я использую Django 4.x и Django REST Framework, я построил две модели:

class Homepage(models.Model):
    org_name = models.CharField(max_length=20, blank=True)
    org_code = models.CharField(max_length=20, blank=True)
    class Meta:
        ordering = ('org_name',)
    def __str__(self):
        return self.org_name
class MainDiag(models.Model):
    release = models.TextField(max_length=256, blank=True)
    code = models.CharField(max_length=20, blank=True)
    condition = models.CharField(max_length=20, blank=True)
    homepage = models.ForeignKey(Homepage, related_name='main_diag', on_delete=models.CASCADE)

Сериализаторы:

class MainDiagSerializer(serializers.ModelSerializer):
    class Meta:
        model = MainDiag
        fields = (
            'release',
            'code',
            'condition',
        )
class HomepageSerializer(serializers.ModelSerializer):
    main_diag = MainDiagSerializer(many=False)
    class Meta:
        model = Homepage
        fields = (
            "org_name",
            "org_code",
            "main_diag",
        )
    def create(self, validated_data):
        main_diag_data = validated_data.pop('main_diag')
        homepage = Homepage.objects.create(**validated_data)
        MainDiag.objects.create(homepage=homepage, **main_diag_data)
        return homepage

Ожидаемое возвращаемое значение на фронтэнде:

{
    org_name: '',
    org_code: '',
    main_page: {
        release: '',
        code: '',
        condition: '',
    }
}

Что я получил:

{
    org_name: '',
    org_code: '',
    main_page: {}
}

Я могу успешно добавить MainDiag в MySQL, однако, когда я получаю Homepage через serializer = HomepageSerializer, главная_страница в serializer.data всегда является пустым OrderedDict(). Есть ли какая-то проблема в моем коде? Как я могу получить главную_страницу через serializer.data? Большое спасибо!

Как отметил Виллем, я должен использовать OneToOneField, поскольку мне нужно отношение один-к-одному.
Однако проблема пустого объекта все еще существует после этого. Проблема решена путем добавления related_name для модели MainDiag:

homepage = models.ForeignKey(Homepage, \
           related_name='main_diag', \
           on_delete=models.CASCADE)

Надеюсь, что это поможет кому-нибудь, у кого есть такая же проблема, как у меня.

Вернуться на верх