我仍然是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 :(得分:0)
如果您的所有首选项值都是布尔值,那么这种方式是可以接受的。如果你想用django形式处理PreferencesValues,你必须看一下django formsets 。
但是如果你想让某些事情变得更加灵活,你也必须看看这个: