1
我有4個表:如何與其他模型值過濾結果 - Django的restframework
Book:
- id
- name
- user_id #(ForeignKey)
- visitor_id #(ForeignKey)
Car:
- id
- name
- user_id #(ForeignKey)
- visitor_id #(ForeignKey)
Pen:
- id
- name
- user_id #(ForeignKey)
- visitor_id #(ForeignKey)
Role:
- id
- obj_type #(ChoicesField. equals `1`,`2` or `3`)
- obj_id
- obj_role #(Boolean)
- visitor_id #(ForeignKey)
現在我有這樣的串行:
class BookSerializer(serializers.ModelSerializer):
queryset = Book.objects.filter(?!?!?) # Here I need help
serializer_class = BookSerializer
我要檢查Role
表,並根據過濾Book
到Role
的結果。我如何做到這一點?什麼是最佳解決方案?
我想是這樣的:
queryset = Book.objects.filter(
ID__in(Role.objects.filter(user=request.user, obj_id=book_id, role__gt=0))
)
我該如何檢查每本書的角色? – Chalist
@chalist我已經更新了我的答案 – aliva
我需要爲每行添加這種檢查:'Role.objects.filter(user = request.user,role__gt = 0,obj_id = Book.id)'?! – Chalist