database - Django 的历史性

标签 database django database-design history

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

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

此外,我想为 Room 和 User 表创建更改历史记录。

谁能帮我解决这个问题?

最佳答案

这是您需要具备的草图:

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

关于database - Django 的历史性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4487975/

相关文章:

php - 从包含约 280,000 个文件的目录中检索正确的文件

mysql - 将Redis与Rails结合使用会为这种特定类型的查询提供任何性能优势

python - 如何在我的模板中使用用户上传的文件? ( Django )

python - 模板标签切片不起作用,而 truncatechars 起作用

具有可在地点之间移动的 Assets 的预订系统的数据库设计

mysql - 保持快捷方式是 MySQL 中的常见做法吗?

php - 获取产品最近 3 个月的销售数量

database - 多标准搜索算法

javascript - 带有 JQuery 函数的 Django 静态 Javascript 资源

mysql - mysql数据库逻辑是否适合查询?