2012-02-27 46 views
0

我想知道在Django模型中实现多种选择的正确方法是什么。如何正确实施使用多种选择的模型?

我想做什么: 我想有一组选择(每个只是一个字符串)并以某种方式保存它们。另外应该可以选择无,一个或多个选项。

我很确定django.choices不适合在这里使用。

是一个ManyToManyField真的是正确的使用,如果是的话......我该如何实现它?

的问候和感谢提前, Senad

编辑:

我创建了一个简单的例子。这是否是实施这个的正确方法?

class alert(models.Model): 
    alertTime = models.DateTimeField('time when alert is triggered') 
    daysOfWeek = models.ManyToManyField(day, blank=True, null=True) 

class day(models.Model): 
    name = models.CharField(max_length=100) 

然后在一周中的所有日子里充满“日”的灯具?

+0

这是一个可行的方法来实现它,虽然在日子的特定情况下,然后选择是更好的方法(除非你期望人们添加新的一周!)。 – 2012-02-27 12:12:17

+0

是的......但我想能够选择没有,一天或多天...在这种情况下,选择不是那么好,对吗? 和我的用例比这复杂得多。只是想保持简单;) – Senad 2012-02-27 12:22:52

回答

1

你有种回答你自己的问题。如果您需要选择多个选项,则排除Field.choicesManyToManyField工作正常,并且具有可以在不更改代码的情况下更改选择的优点(如果需要)。您已经链接到ManyToManyField的文档,因此请继续并遵循该步骤。您也可以使用fixture加载默认选项。

+0

呃,好吧...以及我如何正确实施它? 我的意思是如何编写模型? (将更新问题) – Senad 2012-02-27 10:53:20