2012-08-12 50 views
2

我使用的是django-nonrel和django-mongodb引擎。unique_together在Django-nonrel中如何工作?

在引擎的documentation中,它表示它支持django的Meta选项。

我想在一个模型中使用unique_together这样:

class Bottler(models.Model): 

    location = models.CharField(max_length=20) 

    source = models.CharField(max_length=20) 

    transactionID = models.CharField() 

    class Meta: 
     unique_together = (("location","source"),) 

然而,这似乎并没有工作过,因为我可以不被提出的任何错误创建重复。我知道unique_together是在数据库级执行的。

在MongoDB中转化为什么? 我必须手动验证它吗?

+0

你是否尝试过将它们作为列表而不是元组:'unique_together =(“location”,“source”,)'? Django同时支持,但也许这是一个django-nonrel/mongodb的错误 – 2012-08-12 17:03:17

+0

尝试过两种方法...似乎没有工作。 – 2012-08-12 17:21:26

回答

1

您需要运行syncdb以同步数据库索引。

0

不知何故syncbd不会更新您在mongodb中的索引。你可以尝试的(如果可能的话)是删除集合,然后运行syncdb。在我的情况下,它确实创建了索引。