When I try to set the lookup field with the external id, everything works fine:
Account a = new Account();
a.AccountExternal_ID__c = 'abc';
Car__c c = new Car__c();
c.Account__r = a;
insert c;
But, when I want to do it with the base SObject type, I get an exception `Invalid field Account__r for Car__c:
Account a = new Account();
a.AccountExternal_ID__c = 'abc';
Car__c c = new Car__c();
Sobject so = c;
so.put('Account__r', a);
insert so;
Is there any way to make it work, without querying the accounts?