title: Django model.py models.ForeignKey()
body: <p>I am a newbie on Django framework and a bit confused on the models. </p>
  
  <p>When a "class" in the model.py, can I just understand it as "table" in database? For example, in the code below, "Test", "Contact", and "Tag" are all tables in the database used by Django? </p>
  
  <pre><code>from django.db import models
  
  class Test(models.Model):
      name = models.CharField(max_length=20)
  
  class Contact(models.Model):  
      name   = models.CharField(max_length=200)        
      age    = models.IntegerField(default=0)        
      email  = models.EmailField()       
      def __unicode__(self):            
         return self.name
  
  class Tag(models.Model):        
      contact = models.ForeignKey(Contact)
      name    = models.CharField(max_length=50)
      def __unicode__(self):
          return self.name
  </code></pre>
  
  <p>In the class <code>Tag</code>, it is using <code>models.ForeignKey(Contact)</code>, based on my understanding, the foreignkey should be established on one specific column of a table, but why the <code>ForeignKey</code> is establish on a table directly, i.e. Table <code>Contact</code>? </p>
  
  <p>Any guidance is highly appreciated.</p>