title: Listing only usable values in OneToOneField Django
body: <p>I want to list only usable items in OneToOneField not all items, its not like filtering values in ChoiceField because we need to find out only values which can be used which is based on the principle that whether it has been used already or not.</p>
  
  <p>I am having a model definition as following:</p>
  
  <pre><code>class Foo(models.Model):
      somefield = models.CharField(max_length=12)
  
  class Bar(models.Model):
      somefield = models.CharField(max_length=12)
      foo = models.OneToOneField(Foo)
  </code></pre>
  
  <p>Now I am using a ModelForm to create forms based on Bar model as:</p>
  
  <pre><code>class BarForm(ModelForm):
      class Meta:
          model = Bar
  </code></pre>
  
  <p>Now the problem is in the form it shows list of all the Foo objects available in database in the ChoiceField using the select widget of HTML, since the field is OneToOneField django will force to single association of Bar object to Foo object, but since it shows all usable and unusable items in the list it becomes difficult to find out which values will be acceptable in the form and users are forced to use hit/trial method to find out the right option.</p>
  
  <p>How can I change this behavior and list only those items in the field which can be used ? </p>