а, понял, это просто для сокращение записи для атрибута, который часто юзается
def str(self):
return self.type
Когда ты будешь обращаться к модели, поле указанное в str будет задействовано автоматически.
engine__type - ты обращаешься к модели, а затем к её полю, type.
str прописанный выше, автоматически выводит это поле при обращении к модели.
То есть, если поле не указано, явно, он будет выводить модель по этому полю. Налеюсь, я правильно объяснил