title: ListField without duplicates in Python mongoengine
body: <p>I must be missing something really obvious. But I can't seem to find a way to represent a set using mongoengine. </p>
  
  <pre><code>class Item(Document):
      name = StringField(required=True)
      description = StringField(max_length=50)
      parents = ListField(ReferenceField('self'))
  
  i = Item.objects.get_or_create(name='test item')[0]
  
  i2 = Item(name='parents1')
  i2.save()
  i3 = Item(name='parents3')
  i3.save()
  i.parents.append(i2)
  i.parents.append(i2)
  i.parents.append(i3)
  i.save()
  </code></pre>
  
  <p>The above code will create a duplicate entry for i2 in the parents field of i1. How do you express a foreign key like relationship in mongoengine? </p>