title: web2py, unique = True doesn't work for table references
body: <p>I am just trying to create a simple app with 2 tables linked to each other in model:</p>
  
  <pre><code>db.define_table('project',
              Field('project_name','string',unique =True),
              auth.signature)
  db.define_table('watershed',
              Field('project_name', requires = IS_IN_DB(db,db.project.project_name)),
              Field('main_watershed','string', unique =True),
              auth.signature)
  db.watershed.main_watershed.requires = IS_NOT_EMPTY()
  </code></pre>
  
  <p>in controller: </p>
  
  <pre><code>def add_project():
  form = SQLFORM(db.project).process()
  if form.accepted: redirect('add_main')
  return dict(form = form)
  
  def add_main():
  form = SQLFORM(db.watershed).process()
  if form.accepted: redirect('add_main')
  LIST = db(db.watershed).select()
  return dict(form = form, LIST = LIST) 
  </code></pre>
  
  <p>Assuming that user calls default/add_project and adds "Project 1", if user recall the default/add_project and add again "Project 1", user get a error value already exists in the database.</p>
  
  <p>If this process gone to default/add_main, if user adds (ex. in main_watershed field = MAIN 1) the same string NO error pops up.</p>
  
  <p>Is something missing? Why is my value not unique? </p>