It may looks a naive question but I am wondering about the relationship between primary keys and indexes in most common SQL databases.
Is it a standard rule for a SQL database to create automatically an index for every primary key?
I am asking that because I am designing a model with Django and I am wondering if it is redundant to set both primary_key=True and db_index=True.
Yes, you can assume it is a standard rule that RDBMSes require an index for the primary key.
Mainly, the database engine needs the index to enforces data uniqueness for the primary key, and to do this quickly requires an index.