我们说我有这3个模型
class Restaurant(models.Model):
name = models.CharField(...)
class Eater(models.Model):
name = models.CharField(...)
class Transaction(models.Model):
eater = models.ForeignKey('Eater', related_name='transactions')
restaurant = models.ForeignKey('Restaurant', related_name='transactions')
如何编写eater/1/restaurant
这样的端点来查询eater1
与之交易的所有餐厅?
如果重要的话,我的数据库在PostgreSQL中。
答案 0 :(得分:0)
您可以简单地将交易模型用于相同的
Transaction.objects.filter(eater=eater1).values('restaurant')
希望它会对你有所帮助。
答案 1 :(得分:0)
我想我可以做到
@detail_route(methods=['get'], url_path='restaurants')
def eater_resturants(request, eater_id):
res = Restaurant.objects.filter(transactions__eater_id=eater_id)
serializer = RestaurantSerializer(deals, many=True)
return Response(serializer.data)