Tôi đang cố tạo một phụ trợ với Django Rest Framework và đang cố gắng xác định vị trí đặt logic nghiệp vụ. Nó sẽ đi trong views.py? Tôi muốn tạo ra các dịch vụ phức tạp hơn là chỉ nhận được một danh sách các đối tượng hoặc lấy một đối tượng cụ thể. Mọi hướng dẫn sẽ được đánh giá cao, cảm ơn. Tôi nhận ra có một cuộc thảo luận về logic kinh doanh trong một dự án Django chung nhưng tôi yêu cầu cụ thể về khuôn khổ còn lại django.Django Rest Framework Business Logic
12
A
Trả lời
10
Đó là nhiều hơn về các mẫu thiết kế chứ không phải là khung Django Rest.
Dưới đây là một số lời khuyên:
- Cung cấp các giao diện sử dụng REST không nên liên quan đến bất kỳ mã cụ thể liên quan đến thao tác dữ liệu hoặc logic kinh doanh.
- Sử dụng cách tiếp cận MVC không có nghĩa là bạn không nên lớp ứng dụng của mình.
- Bạn sẽ có thể kiểm tra logic nghiệp vụ của mình mà không cần chạm vào giao diện người dùng.
- Một số người có thể đề xuất đặt logic nghiệp vụ trong các mô hình. Nhưng tôi không đồng ý với họ, vì các mô hình Django khác với các mô hình miền và các nhiệm vụ liên quan đến kinh doanh như tính thuế.
- Trước khi bị kẹt trong MVC, Bạn có thể đọc thêm về The MVC implemented in MVC three-tier architecture
- Tôi khuyên bạn nên có một lớp kinh doanh và các ứng dụng liên quan để đặt logic nghiệp vụ của bạn ở đó.
Giả sử rằng bạn có một cửa hàng cà phê trực tuyến & bạn muốn cung cấp một API REST để đặt hàng cà phê.
Dưới đây là các mẫu mã tôi đề nghị:
myapp/views.py:
def order(request, quantity=1):
# Process the order by calling the mapped method
order_id = CoffeeShopService.place_order(quantity)
return HttpResponse({'order_id': order_id, mimetype='application/json')
myapp/services.py:
class CoffeeShopService(object):
@staticmethod
def place_order(quantity):
# do the business logic here
return order_id
Các vấn đề liên quan
- 1. Business Validation logic Mã mùi
- 2. Django rest framework versioning
- 3. Django Rest Framework - APIView Pagination
- 4. Lồng ghép django-haystack với django-rest-framework?
- 5. Logic kinh doanh ở đâu trong phương thức mô hình đi trong Django Rest Framework?
- 6. Từ điển Django Rest Framework Dictionary
- 7. Django rest framework - lọc cho trường serializer
- 8. Django rest-framework cho phép hành động
- 9. Django Rest Framework, CSRF và Vue.js
- 10. Danh sách lọcAPIView trong django-rest-framework
- 11. Django REST Framework - CurrentUserDefault sử dụng
- 12. Cắm django-allauth làm điểm cuối trong django-rest-framework
- 13. Django-Rest-Framework. Cập nhật đối tượng lồng nhau
- 14. Django Rest Framework POST đối tượng lồng nhau
- 15. django-rest-framework Token Auth và đăng xuất
- 16. Cách sử dụng .to_representation() và .to_internal_value trong django-rest-framework?
- 17. AttributeError trong khi sử dụng Django Rest Framework với serializers
- 18. django rest framework - sử dụng detail_route và detail_list
- 19. Góc 2 Đăng nhập vào Django Rest Framework Backend
- 20. django-rest-framework chấp nhận dữ liệu JSON?
- 21. Django Rest Framework đại diện serializer không hoạt động
- 22. Cách làm việc với django-rest-framework trong các mẫu
- 23. Xác nhận trên query_params trong Django Rest Framework
- 24. thả xuống lựa chọn khóa ngoại ở Django Rest Framework
- 25. Django Rest Framework - Làm thế nào để kiểm tra ViewSet?
- 26. Django Rest Framework: Các phương pháp hay nhất?
- 27. Django Rest Framework 3 hành vi trường bắt buộc
- 28. Thêm APIView vào Django REST Framework API có thể duyệt
- 29. DRF: cách tích hợp django-rest-framework-jwt vào Djoser
- 30. Django Rest Framework tải tệp lên một phương thức
Đã có một cuộc thảo luận lớn về vấn đề này: http : //stackoverflow.com/questions/12578908/separation-of-business-logic-and-data-access-in-django – Spencer
Vâng tôi đã xem xét điều đó nhưng hy vọng sẽ hỏi cụ thể về vị trí trong khuôn khổ còn lại django – perp
Bạn có tìm thấy Mẫu thiết kế tốt cho mẫu này không? Cảm ơn – cyberjoac