2010-12-20 10 views
1

私はdjangoモデルで2つのObjectを作成したいと思います。 ルーム[idRoom、nameRoom]、ユーザー[idUser、nameUser]など。Djangoの歴史

私は複数のユーザーを部屋と部屋に配置したいと考えています。 私は、ユーザーが特定の部屋とすべての部屋にすべてのユーザーを取得したいと思います。

また、RoomとUserテーブルの変更履歴を作成したいと思います。

誰もが私を助けることができますか?

答えて

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

+0

テストデータの例を教えてください。 – HammerSpb