使用自定义字段扩展User模型(与Django的身份验证应用程序捆绑在一起)的最佳方法是什么?我也可能希望使用该电子邮件作为用户名(用于身份验证).
我对 Django 还是很陌生,并试图找出解决以下问题的最佳方法。
我想将用户个人偏好(用户喜欢或不喜欢的东西)存储为简单的布尔值 - true 或 false。问题是偏好不是固定的,可以通过管理界面添加新的偏好。
这就是我的想法。
喜好:
class Preferences(models.Model):
title = models.CharField(max_length=100)
...
Run Code Online (Sandbox Code Playgroud)
价值观:
class PreferencesValues(models.Model):
user = models.ForeignKey(User)
preference = models.ForeignKey(Preferences)
value = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)
这是要走的路还是有更好的方法?此外,制作显示所有可用首选项和复选框的表单的最佳方法是什么,但将初始值设置为检查用户已经标记的那些首选项?
所以这是我的模型:
class Puzzles(models.Model):
user = models.ForeignKey(User)
puzzle = models.CharField(max_length=200)
class Scores(models.Model):
user = models.ForeignKey(User)
puzzle = models.ForeignKey(Puzzles)
score = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)
因此,用户将获得多个分数。对于排行榜页面,我想输出总得分最高的用户(从所有不同得分中添加)。我真的对执行此操作的python代码迷失了。
任何帮助表示赞赏,谢谢!