Python Django数据库和信息历史
我正在使用Django框架构建一个能够记录用户信息及其修改历史的网站。我可以想象,我可以使用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
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()
另外,请注意,在您当前的设计中,信息不会存储在数据库中。 我假设您要存储的大多数历史数据都具有相同的结构。考虑在你的历史中使用每一个信息的字段。例如,要保留操作的日期和时间,请使用