вернуть значение другой таблицы, если она пуста - PullRequest
0 голосов
/ 27 апреля 2020

Я обнаружил, что в запросе Django, если один столбец равен нулю, вы можете использовать django.db.models.functions.NullIf для возврата значения другого столбца.

Hoge.objects.annotate(piyo=NullIf('null_column', 'column_name')).all()

Но я хочу знать, как вернуть значение другой таблицы.

пример

Hoge.objects.select_related('huga').annotate(piyo=NullIf('null_column', 'huga.name')).all()

1 Ответ

1 голос
/ 27 апреля 2020

Вы должны использовать __ вместо . и добавить output_field, если ваши значения содержат смешанные типы

Hoge.objects.annotate(piyo=NullIf('null_column', 'huga__name', output_field=CharField()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...