2014-02-05 66 views
2

我对Django仍然很陌生,并试图找出以下问题的最佳方法。Django:存储用户偏好

我想将用户个人喜好(用户喜欢或不喜欢的东西)存储为简单的布尔值 - true或false。事情是,喜好是不固定的,新的喜好可以通过管理界面添加。

这是我的想法。

首:

class Preferences(models.Model): 
    title = models.CharField(max_length=100) 
    ... 

值:

class PreferencesValues(models.Model): 
    user = models.ForeignKey(User) 
    preference = models.ForeignKey(Preferences) 
    value = models.BooleanField() 

这是要走的路还是有一些更好的方法吗?另外,制作一个可以显示所有可用的首选项的表单的最佳方法是什么?但是设置初始值以检查用户已经标记的那些首选项?

+0

上有相关的问题更多的是最新的答案:http://stackoverflow.com/questions/ 6085025/django的用户简档 – ptim

回答

0

如果您的所有首选项值都是布尔值,那么可以接受。如果你想用Django窗体处理PreferencesValues,你必须看看django 窗体集

但是,如果你想做出点Ajax化ú还必须看看这个:

https://djangosnippets.org/snippets/1389/