1. """
    
  2. Many-to-one relationships that can be null
    
  3. 
    
  4. To define a many-to-one relationship that can have a null foreign key, use
    
  5. ``ForeignKey()`` with ``null=True`` .
    
  6. """
    
  7. 
    
  8. from django.db import models
    
  9. 
    
  10. 
    
  11. class Reporter(models.Model):
    
  12.     name = models.CharField(max_length=30)
    
  13. 
    
  14. 
    
  15. class Article(models.Model):
    
  16.     headline = models.CharField(max_length=100)
    
  17.     reporter = models.ForeignKey(Reporter, models.SET_NULL, null=True)
    
  18. 
    
  19.     class Meta:
    
  20.         ordering = ("headline",)
    
  21. 
    
  22.     def __str__(self):
    
  23.         return self.headline
    
  24. 
    
  25. 
    
  26. class Car(models.Model):
    
  27.     make = models.CharField(max_length=100, null=True, unique=True)
    
  28. 
    
  29. 
    
  30. class Driver(models.Model):
    
  31.     car = models.ForeignKey(
    
  32.         Car, models.SET_NULL, to_field="make", null=True, related_name="drivers"
    
  33.     )