Django 中的历史性

发布于 2024-10-08 14:14:26 字数 183 浏览 3 评论 0原文

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

我想在房间和用户房间中有多个用户。 我想获取特定房间中的所有用户以及该用户的所有房间。

另外,我想记录房间和用户表的更改历史。

有人可以帮我解决这个问题吗?

I want to create a couple of Object's in django model.
Such as Room[idRoom, nameRoom] and User[idUser, nameUser].

I want to have multiple Users in Room's and Room's for User.
I want to get all user's in specific Room and all Rooms by the User.

Also, I want to make History of changing for Room and User table.

Anybody can help me with this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖哒 2024-10-15 14:14:35

这是您需要具备的草图:

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")

This is a sketch of what you will need to have:

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")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文