【问题标题】:how to get history of an object in django?如何在 django 中获取对象的历史记录?
【发布时间】:2018-02-09 13:44:17
【问题描述】:

我使用 django 1.11,并且我有一个书本模型:

class Book(models.Model):
    user_borrowed = models.ForeignKey(User, null=True)
    name = models.CharField(max_length=100)
    description = models.TextField()
    author = models.CharField(max_length=30)
    isbn = models.CharField(max_length=80)

    def borrow_book(self, user):
        if self.user_borrowed is not None:
            return False
        self.user_borrowed = user
        self.save()

    def return_book(self):
        self.user_borrowed = None
        self.save()

它就像一个图书馆系统。我只想知道哪些用户借了一本特别的书。事实上所有用户。例如我想得到这个结果:

[
{ "username": "user_name_1", "date": "2018-02-08T14:13:22.142497"},
]

这意味着 user_name_1 在上述时间借了这本书。 那么该怎么做呢?

谢谢。

【问题讨论】:

  • 好吧,您的模型不存储该信息。您需要一个单独的“Borrow”模型来记录借书的用户以及他们借书的时间。
  • @DanielRoseman 我不想将此信息添加到我的模型中。
  • 那么就没有办法得到你想要的输出了。
  • @DanielRoseman 请你写一下好吗?我不知道该怎么做。

标签: python django django-models


【解决方案1】:

您可以使用 django-simple-history,然后它将存储该模型的历史记录,您可以获得所需的数据。 https://django-simple-history.readthedocs.io/en/latest/

【讨论】:

    猜你喜欢
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多