title: Best place to increase a counter field in Django REST
body: <p>Let's say I have two <code>Models</code> in Django:</p>
  
  <p>Book:</p>
  
  <pre><code>class Book(models.Model):
      title = models.CharField(max_length=100, blank=False)
      number_of_readers = models.PositiveIntegerField(default=0)
  </code></pre>
  
  <p>Reader:</p>
  
  <pre><code>class Reader(models.Model):
      book = models.ForeignKey(Book)
      name_of_reader = models.CharField(max_length=100, blank=False)
  </code></pre>
  
  <p>Everytime I add a new <code>Reader</code> to the database I want to increase <code>number_of_readers</code> in the <code>Book</code> model by 1. I do not want to dynamically count number of rows <code>Reader</code> rows, related to a particular <code>Book</code>, for performance reasons.</p>
  
  <p>Where would be the best place to increase the <code>number_of_readers</code> field? In the <code>Serializer</code> or in the <code>Model</code>? And what method shall I use? Should I override <code>.save</code> in the <code>Model</code>? Or something else in the <code>Serializer</code>? </p>
  
  <p>Even better if someone could provide a full blown example on how to modify the <code>Book</code> table when doing a post of a new <code>Reader</code>.</p>
  
  <p>Thanks.</p>