Business Logi c Между 2+ моделями в Django rest Framework - PullRequest
0 голосов
/ 08 мая 2020

Я много читал об этом, но до сих пор не могу понять, как это реализовать. Я новичок в программировании на Python / Django, и я создаю приложение с DRF + PostgreSQL.

Все хорошо, я делаю базовые c операции post / get, которые в основном возвращают модели как они есть, никакой бизнес-логи c или обработки данных между ними.

Моя сложность заключается в том, что мне нужно создать «индивидуальный ответ» с помощью бизнес-логи c, и я не знаю, как это сделать или где это реализовать, например, у меня есть следующие модели:

class Parking(models.Model):
adress = models.ForeignKey(Adress, on_delete=models.CASCADE, null=False, related_name='adress')
price = models.DecimalField(max_digits=4, decimal_places=2, null=True, blank=True)

class ParkingLot(models.Model):        
    parking = models.ForeignKey(Parking, on_delete=models.CASCADE, null=False, related_name='parkinglots')
    floor = models.IntegerField(null=False)

class ParkingAvailability(models.Model):
    parkinglot = models.ForeignKey(ParkingLot, on_delete=models.CASCADE, null=False, related_name='availability')
    available = models.BooleanField(null=False, blank=False)

если я верну парковку, я получу все остальные модели в ответ (место для парковки и наличие), что нормально. Теперь я хочу вернуть адрес парковки, но только общее количество парковочных мест, которые соответствуют условиям x, например: количество парковочных мест на этаже 4 и которые доступны.

  1. Где я должен это реализовать? Я читал о служебном или управляющем файле, реализующем эти типы бизнес-условий, но некоторые люди говорят, что это не очень хорошая идея. 2. Как мне это реализовать? Мне нужно сделать запросы к этим моделям, чтобы (например) получить парковочные места одной парковки.

Спасибо за вашу помощь!

PS: Engli sh не мой родной язык, поэтому, пожалуйста, простите меня, если у меня есть какие-либо ошибки при письме.

1 Ответ

0 голосов
/ 09 мая 2020

Создайте файл с именем views.py , куда вы поместите бизнес-логи c и файл с именем urls.py , где вы определите разные URL-адреса, которые будут перенаправлять на logi c записано в файл views.py .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...