forked from erp-dev/erp
feat: backend api
This commit is contained in:
0
api_man/__init__.py
Normal file
0
api_man/__init__.py
Normal file
6
api_man/apps.py
Normal file
6
api_man/apps.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class ApiManConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'api_man'
|
||||
0
api_man/migrations/__init__.py
Normal file
0
api_man/migrations/__init__.py
Normal file
66
api_man/serializers.py
Normal file
66
api_man/serializers.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from rest_framework import serializers
|
||||
from basic_info import models as basic_models
|
||||
|
||||
|
||||
class ProductCategorySerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.ProductCategory
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class ProductSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.Product
|
||||
fields = '__all__'
|
||||
depth = 1 # 展开外键关系
|
||||
|
||||
|
||||
class WareHouseSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.WareHouse
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class SupplierSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.Supplier
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class EmployeeSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.Employee
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class CustomerSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.Customer
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class VehicleTypeSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.VehicleType
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class BankAccountSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.BankAccount
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class DeviceInfoSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = basic_models.DeviceInfo
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class VehicleTransportRecordSerializer(serializers.ModelSerializer):
|
||||
vehicle_type_name = serializers.CharField(source='vehicle_type.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = basic_models.VehicleTransportRecord
|
||||
fields = '__all__'
|
||||
depth = 1 # 展开外键关系
|
||||
3
api_man/tests.py
Normal file
3
api_man/tests.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
48
api_man/urls.py
Normal file
48
api_man/urls.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from django.urls import path, include
|
||||
from rest_framework import routers
|
||||
from . import views
|
||||
|
||||
|
||||
product_router = routers.DefaultRouter()
|
||||
product_router.register(prefix='', viewset=views.ProductViewSet)
|
||||
|
||||
warehouse_router = routers.DefaultRouter()
|
||||
warehouse_router.register(prefix='', viewset=views.WareHouseViewSet)
|
||||
|
||||
product_category_router = routers.DefaultRouter()
|
||||
product_category_router.register(prefix='', viewset=views.ProductCategoryViewSet)
|
||||
|
||||
supplier_router = routers.DefaultRouter()
|
||||
supplier_router.register(prefix='', viewset=views.SupplierViewSet)
|
||||
|
||||
employee_router = routers.DefaultRouter()
|
||||
employee_router.register(prefix='', viewset=views.EmployeeViewSet)
|
||||
|
||||
customer_router = routers.DefaultRouter()
|
||||
customer_router.register(prefix='', viewset=views.CustomerViewSet)
|
||||
|
||||
vehicle_type_router = routers.DefaultRouter()
|
||||
vehicle_type_router.register(prefix='', viewset=views.VehicleTypeViewSet)
|
||||
|
||||
bank_account_router = routers.DefaultRouter()
|
||||
bank_account_router.register(prefix='', viewset=views.BankAccountViewSet)
|
||||
|
||||
device_info_router = routers.DefaultRouter()
|
||||
device_info_router.register(prefix='', viewset=views.DeviceInfoViewSet)
|
||||
|
||||
vehicle_transport_record_router = routers.DefaultRouter()
|
||||
vehicle_transport_record_router.register(prefix='', viewset=views.VehicleTransportRecordViewSet)
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path('products/', include(product_router.urls)),
|
||||
path('warehouses/', include(warehouse_router.urls)),
|
||||
path('product-categories/', include(product_category_router.urls)),
|
||||
path('suppliers/', include(supplier_router.urls)),
|
||||
path('employees/', include(employee_router.urls)),
|
||||
path('customers/', include(customer_router.urls)),
|
||||
path('vehicle-types/', include(vehicle_type_router.urls)),
|
||||
path('bank-accounts/', include(bank_account_router.urls)),
|
||||
path('device-info/', include(device_info_router.urls)),
|
||||
path('vehicle-transport-records/', include(vehicle_transport_record_router.urls)),
|
||||
]
|
||||
56
api_man/views.py
Normal file
56
api_man/views.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from rest_framework import viewsets
|
||||
from . import serializers
|
||||
|
||||
|
||||
class BaseViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = [] # 允许所有访问
|
||||
|
||||
|
||||
class ProductViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.Product.objects
|
||||
serializer_class = serializers.ProductSerializer
|
||||
|
||||
|
||||
class WareHouseViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.WareHouse.objects
|
||||
serializer_class = serializers.WareHouseSerializer
|
||||
|
||||
|
||||
class ProductCategoryViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.ProductCategory.objects
|
||||
serializer_class = serializers.ProductCategorySerializer
|
||||
|
||||
|
||||
class SupplierViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.Supplier.objects
|
||||
serializer_class = serializers.SupplierSerializer
|
||||
|
||||
|
||||
class EmployeeViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.Employee.objects
|
||||
serializer_class = serializers.EmployeeSerializer
|
||||
|
||||
|
||||
class CustomerViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.Customer.objects
|
||||
serializer_class = serializers.CustomerSerializer
|
||||
|
||||
|
||||
class VehicleTypeViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.VehicleType.objects
|
||||
serializer_class = serializers.VehicleTypeSerializer
|
||||
|
||||
|
||||
class BankAccountViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.BankAccount.objects
|
||||
serializer_class = serializers.BankAccountSerializer
|
||||
|
||||
|
||||
class DeviceInfoViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.DeviceInfo.objects
|
||||
serializer_class = serializers.DeviceInfoSerializer
|
||||
|
||||
|
||||
class VehicleTransportRecordViewSet(BaseViewSet):
|
||||
queryset = serializers.basic_models.VehicleTransportRecord.objects
|
||||
serializer_class = serializers.VehicleTransportRecordSerializer
|
||||
Reference in New Issue
Block a user