【问题标题】:Historicity in DjangoDjango 的历史
【发布时间】:2011-05-28 03:24:40
【问题描述】:

我想在 django 模型中创建几个对象。 如 Room[idRoom, nameRoom] 和 User[idUser, nameUser]。

我想在 Room's 和 Room's for User 中有多个用户。 我想按用户获取特定房间和所有房间中的所有用户。

另外,我想制作 Room 和 User 表的更改历史记录。

有人可以帮我吗?

【问题讨论】:

    标签: database django database-design history


    【解决方案1】:

    这是你需要拥有的草图:

    class User(models.Model):
        pass
    
    class Room(models.Model):
        users = models.ManyToManyField(User, related_name="rooms")
    
    class History(models.Model):
        room = models.ForeignKey(Room)
        user = models.ForeignKey(User)
        time = models.DateTimeField(auto_now_add=True)
    
    # add some objects
    first_user = User()
    first_user.save()
    first_room = Room()
    first_room.save()
    first_user.rooms.add(first_room)
    History(room=first_room, user=first_user).save()
    # ^^^ it automatically adds the current date and time
    
    # now fetch them like this:
    Room.objects.get(pk=the_room).users.all()
    User.objects.get(pk=the_user).rooms.all()
    User.objects.get(pk=the_user).history_set.order_by("-time")
    

    【讨论】:

    • 你能举一个测试数据的例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多