Пользовательское имя для ключа в наборе запросов

У меня есть набор запросов Invoice. В счете есть объект назначения, в котором есть объект пациента, имеющий атрибут name. Я пытаюсь сделать аннотацию, чтобы получить также имя пациента. Остальные поля возвращают данные нормально. Но имя пациента - нет. Я пробовал - F("appointment__patient__name") и также "appointment__patient__name". Что я упускаю?

def get_corporate_invoices(
    start_date: date, end_date: date, corporate_uuid: str
) -> QuerySet[Invoice]:
    return (
        Invoice.objects.annotate(
            entry_date=F("appointment_date"),
            payment_method=Value("--", output_field=models.TextField()),
            debit_amount=Round("amount", precision=2),
            running_balance=Value(0.00, output_field=models.FloatField()),
            patient_name=F("appointment__patient__name"),
        )
        .filter(
            corporate_uuid=corporate_uuid,
            appointment_date__gte=start_date,
            appointment_date__lte=end_date,
            isdeleted=False,
            status="Cleared",
            corporate_uuid__isnull=False,
        )
        .order_by("appointment_date", "concierge_rct_id")
        .values(
            "entry_date",
            "payment_method",
            "debit_amount",
            "running_balance",
            "patient_name"

        )
    )

Вот что получилось:

     patient_name=Func(
                    F('appointment'), Value('patient'), Value('name'),
                    function='jsonb_extract_path_text'),
                        )

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