我想在 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/