Python Django数据库和信息历史

Python Django数据库和信息历史,python,database,django,web,django-models,Python,Database,Django,Web,Django Models,我正在使用Django框架构建一个能够记录用户信息及其修改历史的网站。我可以想象,我可以使用Django自定义应用程序记录信息历史。这个自定义应用程序将包含包含存储在字典中的信息的类 Class Information(models.Model): user = models.OneToOneField(User) info = {'date': value} def create_information(sender, instance, c

我正在使用Django框架构建一个能够记录用户信息及其修改历史的网站。我可以想象,我可以使用Django自定义应用程序记录信息历史。这个自定义应用程序将包含包含存储在字典中的信息的类

    Class Information(models.Model):
        user = models.OneToOneField(User)

        info = {'date': value}

    def create_information(sender, instance, created, **kwargs):
    if created:
        Information.objects.create(user=instance)
    post_save.connect(create_control_information, sender=User)

有谁能告诉我在Django web developing中是否有其他更好的方法来记录信息吗?

首先,因为您想直接从用户实例访问用户的历史记录,所以请使用Django的字段

执行此操作时,访问用户历史记录将如下所示:

my_user.information_set.all()
通过在ForeignKey构造函数中指定相关的\u name参数,可以将用户历史记录的名称从“information\u set”更改为例如“history”,如下所示:

Class Information(models.Model):
     ...
     user=models.ForeignKey(related_name='history')
现在,要访问用户的历史记录,您可以编写:

my_user.history.all()

另外,请注意,在您当前的设计中,信息不会存储在数据库中。 我假设您要存储的大多数历史数据都具有相同的结构。考虑在你的历史中使用每一个信息的字段。例如,要保留操作的日期和时间,请使用