在数据库中保存不同的文本Django的

时间:2016-01-12 11:45:31

标签: python mysql django django-models

它是关于用Python和Django编写的Web应用程序。 我希望用户同意使用他们提供的个人数据,并将同意保存在数据库中。

同意模式:

class Consent(models.Model):
    user = models.ForeignKey(User, unique=True)
    date = models.DateTimeField(auto_now_add=True)

用户在网页上表示同意,其中显示了同意政策,复选框和提交按钮。 我想保存用户在同意模型中同意(同意政策)时为每个用户保存的文本。因此,稍后当我更改同意政策文本时,我可以知道用户在同意时看到了哪些文本(出于法律目的)。

我不知道如果每次同意都将文本保存在数据库中是否有用。目前,该文本大约55个单词,长350个字符。

有没有比添加

更好的方法
consent_policy = models.TextField()

是否同意模型?

更重要的是,我支持两种不同的语言,因此我的文本位于单独的django.po文件中。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以创建另一个主题

,而不是保存整个文本
class Consent(models.Model):
    text = models.TextField()
    version = models.IntegerField()

然后您可以在用户模型中注册Foreginkey以跟踪用户阅读的版本

class YourUser(models.Model):
    user = models.ForeignKey(User, unique=True)
    consent = models.ForeignKey(Consent)
    name = models.CharField(length=30)