2010-12-20 46 views
1

我想在django模型中創建幾個Object。 如房間[idRoom,nameRoom]和用戶[idUser,nameUser]。Django中的歷史性

我想在房間和房間的用戶有多個用戶。 我想讓所有用戶在特定房間和所有房間由用戶。

此外,我想創建更改房間和用戶錶的歷史記錄。

有人可以幫助我嗎?

回答

3

這是你需要有什麼草圖:

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

OK,這是非常有幫助的。 – HammerSpb 2010-12-20 08:43:23

+0

你能舉一個測試數據的例子嗎? – HammerSpb 2010-12-20 15:05:27