sammodel表

This commit is contained in:
caoqianming 2021-09-09 14:39:35 +08:00
parent 17789ed4a2
commit 8e9fede047
3 changed files with 29 additions and 6 deletions

View File

@ -29,7 +29,7 @@ class Customer(CommonAModel):
def __str__(self):
return self.name
class Contact(CommonAModel):
class Contract(CommonAModel):
"""
合同信息
"""
@ -54,7 +54,7 @@ class Order(CommonAModel):
"""
number = models.CharField('订单编号', max_length=100)
customer = models.ForeignKey(Customer, verbose_name='客户', on_delete=models.CASCADE)
contact = models.ForeignKey(Contact, verbose_name='所属合同', null=True, blank=True, on_delete=models.SET_NULL)
contract = models.ForeignKey(Contract, verbose_name='所属合同', null=True, blank=True, on_delete=models.SET_NULL)
product = models.ForeignKey(Material, verbose_name='所需产品', on_delete=models.CASCADE)
count = models.IntegerField('所需数量', default=0)
delivery_date = models.DateField('交货日期')

View File

@ -13,12 +13,17 @@ class CustomerCreateUpdateSerializer(serializers.ModelSerializer):
model = Customer
fields = ['name', 'address', 'contact', 'contact_phone', 'description']
class ContactSerializer(serializers.ModelSerializer):
class CustomerSimpleSerializer(serializers.ModelSerializer):
class Meta:
fields = ['id', 'name']
class ContractSerializer(serializers.ModelSerializer):
class Meta:
model = Contact
fields = '__all__'
class ContactCreateUpdateSerializer(serializers.ModelSerializer):
class ContractCreateUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = Contact
fields = ['name', 'number', 'amount', 'customer', 'sign_date', 'description']

View File

@ -1,5 +1,5 @@
from apps.sam.serializers import CustomerCreateUpdateSerializer, CustomerSerializer
from apps.sam.models import Customer
from apps.sam.serializers import ContractCreateUpdateSerializer, ContractSerializer, CustomerCreateUpdateSerializer, CustomerSerializer
from apps.sam.models import Contract, Customer
from rest_framework.viewsets import ModelViewSet
from apps.system.mixins import CreateUpdateCustomMixin
from django.shortcuts import render
@ -21,3 +21,21 @@ class CustomerViewSet(CreateUpdateCustomMixin, ModelViewSet):
if self.action in ['create', 'update']:
return CustomerCreateUpdateSerializer
return CustomerSerializer
class ContractViewSet(CreateUpdateCustomMixin, ModelViewSet):
"""
合同-增删改查
"""
perms_map = {'*': '*'}
queryset = Contract.objects.select_related('customer').all()
serializer_class = ContractSerializer
search_fields = ['name']
filterset_fields = []
ordering_fields = ['create_time']
ordering = ['-create_time']
def get_serializer_class(self):
if self.action in ['create', 'update']:
return ContractCreateUpdateSerializer
return ContractSerializer