#django #django-models #django-orm
Вопрос:
Подумайте о том, чтобы иметь Table
столик и Reservation
столик в моем приложении для ресторана Django.
class Reservation(models.Model): table = models.ForeignKey( Table, on_delete=models.CASCADE, blank=False,null=False, related_name='reservations' ) def __str__(self): return str(self.pk) class Table(models.Model): def __str__(self): return str(self.pk)
Если я хочу показать список столиков в ресторане с соответствующим бронированием, мне нужно выбрать соответствующее бронирование для каждого столика. но мне нужно выбрать только последнее бронирование каждой таблицы (которое сейчас активно).
Как этого Добиться?
Ответ №1:
Прежде всего, вы должны использовать prefetch_related()
не select_related()
из-за какого-либо обратного отношения,
Во-вторых, вы могли бы просто использовать orm tableObject.reservations.last()
или tableObject.reservations.latest('created_at')