1👍
✅
There is no difference at all from an efficiency point of view; getting from one to the other will always require an extra db lookup (or a join if you do it with select_related
).
The main consideration here is probably semantic. To me, it makes more sense to say a car has an engine, so the field would go on the Car model.
Source:stackexchange.com