Django изменить имена объектов в модели прокси - PullRequest
2 голосов
/ 22 января 2020

У меня есть поле «многие ко многим», где Django автоматически создает сквозную таблицу

roomextra = models.ManyToManyField(
    to='hotel.RoomExtra',
    related_name='room_extra',
    verbose_name='room extra',
)

Это часть класса Room. И класс Room, и класс RoomExtra имеют методы

def __str__

, чтобы определить их имя объекта. Прокси-модель была введена для изменения некоторого текста в администраторе Django для сквозной таблицы, созданной Django:

class RoomRoomExtraProxy(Room.roomextra.through):
    class Meta:
        proxy = True

    def __str__(self):
        return self.room.name + ' // ' + self.roomextra.name

Однако, когда вы пытаетесь удалить комнату с дополнительной комнатой, вы получаете после "Вы уверены?" страница:

Summary

 - Rooms: 1
 - Room-roomextra relationships: 1

Objects

 - Room: 1
 - Room-roomextra relationship: Room_roomextra object (8)

Как переопределить 'Room-roomextra' и 'Room_roomextra object (8)', чтобы они были более удобными для пользователя?

...