title: Add a conditional foreign key field in a DJANGO model
body: <p><strong>Models.py</strong> is shown below. The Release table has a foreign key <strong>system_requirements_id</strong> that points to the <strong>SystemRequirement</strong> table but I want that the user should fill the <strong>system_requirements_id</strong> <em>only when there is no text in the system_requirements field</em> in the Release table. Otherwise, the <strong>system_requirements_id</strong> can be left blank. How do I implement that?</p>
  
  <pre><code>class SystemRequirement(TimeStampedModel):
      code_name = models.TextField(blank=True)
      content = models.TextField()
      creation_date = models.DateField(auto_now=False, auto_now_add=True)
  
      def __unicode__(self):
          return self.code_name
  
  class Release(TimeStampedModel):
      system_requirements = models.TextField(blank=True)
      system_requirements_id = models.ForeignKey(SystemRequirement,
      blank=True, null=True)
  </code></pre>