Что это за конструкция: shop, _ = Shop.objects.get.... бла-бла-бла....?
Скорее всего, метод get_or_create возвращает массив (кортеж) с двумя значениями, где первый элемент записывается в переменную shop, а второй просто не нужен, поэтому просто игнорируется с помощью _

UPD. Вот что нашёл в документации: https://djbook.ru/rel1.7/ref/models/querysets.html...
В том и дело, что то, что после «=» очевидно возвращает кортеж из двух результатов, и, грубо говоря, 0-й (первый по счёту) элемент кортежа «записывается в переменную» shop, а 1-й (второй по счёту) - игнорируется. Знак подчеркивания в качестве имени переменной - это как-бы «фиктивная переменная».