Python 如何在数据库中保存django模型以供用户自定义视图?

Python 如何在数据库中保存django模型以供用户自定义视图?,python,django,django-models,Python,Django,Django Models,假设我有三个模型,在我的视图中,我显示了这些模型的所有项目,我想让我的用户有权设置在第一、第二和第三个视图中显示哪些模型的对象 实现这一点的最佳方法是什么?Django的最佳实践是将用户配置文件对象定义为: class UserProfile(models.Model): user = models.OneToOneField(User, related_name="profile") # add whatever other configurations & prefe

假设我有三个模型,在我的视图中,我显示了这些模型的所有项目,我想让我的用户有权设置在第一、第二和第三个视图中显示哪些模型的对象


实现这一点的最佳方法是什么?

Django的最佳实践是将用户配置文件对象定义为:

class UserProfile(models.Model):
    user = models.OneToOneField(User, related_name="profile")
    # add whatever other configurations & preferences you allow the user to set here
    feature_x_priority = models.IntegerField(default=0)
    feature_y_priority = models.IntegerField(default=1)
    feature_z_priority = models.IntegerField(default=2)
然后从代码中的任何一点,您都可以使用
user.profile.feature\u x\u priority


不要忘记为每个用户(新用户和现有用户)创建一个配置文件,否则在使用它之前,您必须检查
user.profile
是否存在。

不清楚“我的用户”是什么意思

这是否只是为站点全局设置此配置的管理员用户

或者你的意思是网站的每个用户都有自己的偏好

如果是后一种情况,则创建一个名为
首选项
的新模型,该模型与用户模型具有
一对一
关系

然后在查询中,您应该根据首选项值创建三个单独的查询