Ken is right that there’s no space saving from unsigned vs signed.
To use an autofield with small unsigned integers you’ll want to use a subclass. But it’s not a good idea.
The reason Django moved its default from 32 bit to 64 bit is the danger of ID exhaustion - running out of autoincrement ID’s. This typically takes down a site until its database can be migrated - several large companies have had large outages because of this, e.g. Basecamp and Sentry.
If you’re looking for the storage savings from using 2 bytes instead of 8 - they’re really small compared to the cost of storage. The tradeoff will basically never be worth it.
You’ll realize much larger storage savings using a compressed database format e.g. PostgreSQL on ZFS or MariaDB’s table compression. This will compress all your data, not just the autoincrement column, and can save you a bunch of disk space.