Проверьте, существует ли список в моей базе данных с помощью querySet django - PullRequest
0 голосов
/ 01 ноября 2019

Я хотел бы проверить, существует ли список переменных в моей базе данных, я попробовал это:

if Magazine.objects.filter(mag=post.mag_no, prodc_magt_no__in[post.cn1,post.cn2,post.cn3,post.cn4)

, но этот набор запросов проверяет по крайней мере одно значение, я хочу проверить все list:post.cn1,post.cn2,post.cn3,post.cn4 вмоя база данных column = prodc_magt_no

моя база данных

ID     WORK_YMD    LINE_NM  MODEL_CODE    MAG_NO             PRODC_MAGT_NO 
    118002  20191015    PBA-21F BN94-14806W A656MAF00001    BR10BN9414806WA656MAE4035
    118003  20191015    PBA-21F BN94-14806W A656MAF00001    BR10BN9414806WA656MAE4027
    118004  20191015    PBA-21F BN94-14806W A656MAF00001    BR10BN9414806WA656MAE4039
    118005  20191015    PBA-21F BN94-14806W A656MAF00001    BR10BN9414806WA656MAE4037
    118006  20191015    PBA-21F BN94-14806W A656MAF00001    BR10BN9414806WA656MAE4038

примечание: mag=post.mag_no необходимо!

1 Ответ

1 голос
/ 01 ноября 2019

Я не уверен, была ли это просто проблема копирования-вставки, но строка кода недействительна. В нем отсутствует оператор =, и он правильно входит в список. Не видя реальных моделей, теоретически это будет работать:

if Magazine.objects.filter(mag=post.mag_no, prodc_magt_no__in=[post.cn1,post.cn2,post.cn3,post.cn4]).exists()

exist () проверит, есть ли хотя бы одна запись из этого фильтра, она не скажет вам, сколько. Как указано в комментарии, count () может сделать это за вас.

...