title: django: Does `unique=True` prevent `IntegrityError`?
body: <p>I realized that when I have a simple model:</p>
  
  <pre><code>class Category(models.Model):
      name  = models.CharField(max_length=128, unique=True)
      views = models.IntegerField(default=0)
      likes = models.IntegerField(default=0)
  </code></pre>
  
  <p>the modifier <code>unique=True</code> has the effect that when I add a category to the database (via an HTML form) which has a name of an instance already present in the database, the application will not crash.
  Instead, I get access to <code>form.errors</code> which I can print to the page or to the terminal.
  If I omit <code>unique=True</code> and I try to add a category to the database with a name that already exists, I get an <code>IntegrityError</code> and my application crashes.</p>
  
  <p>So it seems to me that defining <code>unique=True</code> is pretty important for the behaviour of the application. I guess then there must be other model attributes which are equally importa</p>
  
  <p>In the django documentation, where can I read about this and if there are other such attributes? </p>