# How to use UUID as primary key in a Django Model?

If you are creating a model in Django, Django automatically defines a primary key field called `id` in the database for that model. But in some cases, you might want to specify your own `id` field as primary key. It is easy peasy to do in Django, let’s have a look at it.

```python
from uuid import uuid4
from django.db import models

class Book(models.Model):
	id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
	...
```

In the above example, we are using a `UUIDField` as our primary key field i.e. `id` , also it is to notice that we are providing a default value to the `UUIDField` as `uuid4` which is imported from the `uuid` module.

If you want a field to be primary key in Django, you have to specify the `primary_key=True` as an argument in that field. Keep in mind that Django does not allow to have more than one primary keys, although it allows you to specify unique fields.

***Any thoughts? Write it down in the comments.***

> For more such crispy blogs daily, follow Dev.Junction, subscribe to our newsletter and get notified.
> 

## Social Links

- **LinkedIn:** [https://www.linkedin.com/in/mnamegaurav/](https://www.linkedin.com/in/mnamegaurav/)
- **YouTube:** [https://www.youtube.com/devjunction](https://www.youtube.com/devjunction)
- **Website:** [https://gaurav.devjunction.in/](https://gaurav.devjunction.in/)
- **GitHub:** [https://github.com/mnamegaurav](https://github.com/mnamegaurav)
- **Instagram:** [https://www.instagram.com/mnamegaurav/](https://www.instagram.com/mnamegaurav/)
- **Twitter:** [https://twitter.com/mnamegaurav](https://twitter.com/mnamegaurav)
