Историчность в Джанго - PullRequest
       27

Историчность в Джанго

1 голос
/ 20 декабря 2010

Я хочу создать пару объектов в модели django. Например, Room [idRoom, nameRoom] и User [idUser, nameUser].

Я хочу иметь нескольких пользователей в комнате и комнате для пользователя. Я хочу, чтобы все пользователи в определенной комнате и все комнаты были доступны пользователю.

Также я хочу сделать историю изменений для таблицы Room и User.

Кто-нибудь может мне помочь с этим?

1 Ответ

3 голосов
/ 20 декабря 2010

Это эскиз того, что вам нужно будет иметь:

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