Django ORM Cheatsheet
Quick reference for Django models, queries, filtering, aggregation, and relationships.
| Item | Description | Example | Category |
|---|---|---|---|
| models.Model | Base class for all Django models | class Book(models.Model): title = models.CharField(max_length=100) | Models |
| CharField | Character field | name = models.CharField(max_length=50) | Models |
| IntegerField | Integer field | age = models.IntegerField() | Models |
| DateTimeField | Date/time field | created = models.DateTimeField(auto_now_add=True) | Models |
| ForeignKey | Many-to-one relationship | author = models.ForeignKey(Author, on_delete=models.CASCADE) | Relationships |
| ManyToManyField | Many-to-many relationship | tags = models.ManyToManyField(Tag) | Relationships |
| OneToOneField | One-to-one relationship | profile = models.OneToOneField(Profile, on_delete=models.CASCADE) | Relationships |
| all() | Retrieve all objects | Book.objects.all() | Querying |
| get() | Retrieve single object | Book.objects.get(id=1) | Querying |
| first() | Get first object | Book.objects.first() | Querying |
| last() | Get last object | Book.objects.last() | Querying |
| count() | Count objects | Book.objects.count() | Querying |
| filter() | Filter queryset | Book.objects.filter(author="John") | Filtering |
| exclude() | Exclude objects | Book.objects.exclude(published=False) | Filtering |
| order_by() | Order queryset | Book.objects.order_by("-created") | Filtering |
| values() | Return dicts instead of model instances | Book.objects.values("title", "author") | Filtering |
| distinct() | Unique results | Book.objects.distinct("author") | Filtering |
| aggregate() | Aggregate values | Book.objects.aggregate(Avg("price")) | Aggregation |
| annotate() | Add aggregate info to each object | Author.objects.annotate(total_books=Count("book")) | Aggregation |
| Count() | Count objects | Author.objects.annotate(num_books=Count("book")) | Aggregation |
| Avg() | Average field | Book.objects.aggregate(Avg("price")) | Aggregation |
| Sum() | Sum field | Book.objects.aggregate(Sum("price")) | Aggregation |
| Max() | Max value | Book.objects.aggregate(Max("price")) | Aggregation |
| Min() | Min value | Book.objects.aggregate(Min("price")) | Aggregation |
| exists() | Check if queryset has any results | Book.objects.filter(author="John").exists() | Utilities |
| update() | Update objects | Book.objects.filter(id=1).update(title="New Title") | Utilities |
| delete() | Delete objects | Book.objects.filter(id=1).delete() | Utilities |