Yup django admin, saya tidak langsung basa basi membahas mengenai django, yang saya bahas adalah bagaimana cara membuat atau mensetup primary key di django admin secara manual, karena biasanya django admin akan menggenerate secara otomatis ke database melalui sebuah model, da njuga secara otomatis hasil tabel yang di generate oleh django pasti memiliki field primary key dengan nama field id dengan type integer.
Apabila kita mempunyai sebuah model seperti dibawah ini : 

class Propinsi (models.Model): # Data master tipe karyawan
    name = models.CharField(max_length=250, blank=False)
    def __unicode__(self):
        return self.name

Maka yang akan dilakukan si django adalah menggenerate table dengan nama  namamodel_propinsi dengan field name character varying dan id dengan type integer + primary key.

Sebagai contoh : Bagaimana jika kita ingin menentukan primary key-nya dengan nama field UNIKID dan bertype CHAR dengan LENGTH : 5 ????

Perhatikan perbedaan model yang diatas dengan model dibawah ini :

class Propinsi (models.Model): # Data master tipe karyawan
    unikid = models.CharField(primary_key=True, max_length=5, blank=False)
    name = models.CharField(max_length=250, blank=False)
    def __unicode__(self):
        return self.name

Maka pada saat di generate akan menghasilkan primary key unikid dan field name.
Semoga bermanfaat.