sammodel表
This commit is contained in:
parent
17789ed4a2
commit
8e9fede047
|
@ -29,7 +29,7 @@ class Customer(CommonAModel):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
class Contact(CommonAModel):
|
class Contract(CommonAModel):
|
||||||
"""
|
"""
|
||||||
合同信息
|
合同信息
|
||||||
"""
|
"""
|
||||||
|
@ -54,7 +54,7 @@ class Order(CommonAModel):
|
||||||
"""
|
"""
|
||||||
number = models.CharField('订单编号', max_length=100)
|
number = models.CharField('订单编号', max_length=100)
|
||||||
customer = models.ForeignKey(Customer, verbose_name='客户', on_delete=models.CASCADE)
|
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)
|
product = models.ForeignKey(Material, verbose_name='所需产品', on_delete=models.CASCADE)
|
||||||
count = models.IntegerField('所需数量', default=0)
|
count = models.IntegerField('所需数量', default=0)
|
||||||
delivery_date = models.DateField('交货日期')
|
delivery_date = models.DateField('交货日期')
|
||||||
|
|
|
@ -13,12 +13,17 @@ class CustomerCreateUpdateSerializer(serializers.ModelSerializer):
|
||||||
model = Customer
|
model = Customer
|
||||||
fields = ['name', 'address', 'contact', 'contact_phone', 'description']
|
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:
|
class Meta:
|
||||||
model = Contact
|
model = Contact
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
class ContactCreateUpdateSerializer(serializers.ModelSerializer):
|
class ContractCreateUpdateSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Contact
|
model = Contact
|
||||||
fields = ['name', 'number', 'amount', 'customer', 'sign_date', 'description']
|
fields = ['name', 'number', 'amount', 'customer', 'sign_date', 'description']
|
|
@ -1,5 +1,5 @@
|
||||||
from apps.sam.serializers import CustomerCreateUpdateSerializer, CustomerSerializer
|
from apps.sam.serializers import ContractCreateUpdateSerializer, ContractSerializer, CustomerCreateUpdateSerializer, CustomerSerializer
|
||||||
from apps.sam.models import Customer
|
from apps.sam.models import Contract, Customer
|
||||||
from rest_framework.viewsets import ModelViewSet
|
from rest_framework.viewsets import ModelViewSet
|
||||||
from apps.system.mixins import CreateUpdateCustomMixin
|
from apps.system.mixins import CreateUpdateCustomMixin
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
@ -21,3 +21,21 @@ class CustomerViewSet(CreateUpdateCustomMixin, ModelViewSet):
|
||||||
if self.action in ['create', 'update']:
|
if self.action in ['create', 'update']:
|
||||||
return CustomerCreateUpdateSerializer
|
return CustomerCreateUpdateSerializer
|
||||||
return CustomerSerializer
|
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
|
Loading…
Reference in New Issue