【发布时间】:2020-05-08 20:45:22
【问题描述】:
我已经阅读了很多关于此的内容,但我仍然无法深入了解如何实现它。我是 Python/Django 编程的新手,我正在使用 DRF+PostgreSQL 制作应用程序。
一切都好,我正在做基本的 post/get 操作,它们基本上按原样返回模型,之间没有业务逻辑或数据处理。
我现在的复杂情况是我需要用业务逻辑构建一个“自定义响应”,而我不知道如何去做或在哪里实现它,例如,我有这些模型:
class Parking(models.Model):
address = models.ForeignKey(Adress, on_delete=models.CASCADE, null=False, related_name='address')
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 条件的 ParkingLots 总数,例如:楼层为 4 且可用的停车场数量。
- 我应该在哪里实现这个?我读过有关实现这些类型业务条件的服务或管理器文件,但有人说这不是一个好主意。
- 我应该如何实现它?我必须对这些模型进行查询,以便(例如)获得一个停车场的停车场。
【问题讨论】:
标签: django python-3.x django-models django-rest-framework