title: How to make a ListField of ReferenceFields unique?
body: <p>I'm trying to make a <code>ListField</code> of <code>ReferenceField</code> unique, but I'm getting a unique error when I shouldn't. Why is that?    </p>
  
  <pre><code>class Training(Document):
  
      transactions = ListField(ReferenceField(Buy, reverse_delete_rule=PULL), default=list, unique=True)
  
  b = Buy()
  b.save()
  b1 = Buy()
  b1.save()
  b2 = Buy()
  b2.save()
  
  # both should save fine since the lists are different
  Training(transactions=[b, b1]).save()
  
  Training(transactions=[b, b2]).save()
  </code></pre>
  
  <p>NotUniqueError: Tried to save duplicate unique keys (E11000 duplicate key error collection: test_db.training index: transactions_1 dup key: { : ObjectId('575d33eceefe54280475fc1b') })</p>