state simple 序列化
This commit is contained in:
parent
21463c1ba2
commit
c97045112a
|
@ -99,3 +99,22 @@ class CustomField(BaseModel):
|
|||
field_choice = models.JSONField('radio、checkbox、select的选项', default=dict, blank=True,
|
||||
help_text='radio,checkbox,select,multiselect类型可供选择的选项,格式为json如:{"1":"中国", "2":"美国"},注意数字也需要引号')
|
||||
label = models.JSONField('标签', blank=True, default=dict, help_text='自定义标签,json格式,调用方可根据标签自行处理特殊场景逻辑,loonflow只保存文本内容')
|
||||
|
||||
class Ticket(CommonBModel):
|
||||
"""
|
||||
工单
|
||||
"""
|
||||
title = models.CharField('标题', max_length=500, blank=True, default='', help_text="工单标题")
|
||||
workflow = models.ForeignKey(Workflow, on_delete=models.CASCADE, verbose_name='关联工作流')
|
||||
sn = models.CharField('流水号', max_length=25, help_text="工单的流水号")
|
||||
state = models.ForeignKey(State, on_delete=models.CASCADE, verbose_name='当前状态', related_name='ticket_state')
|
||||
parent = models.ForeignKey('self', null=True, blank=True, on_delete=models.CASCADE, verbose_name='父工单')
|
||||
parent_state = models.ForeignKey(State, null=True, blank=True, on_delete=models.CASCADE, verbose_name='父工单状态', related_name='ticket_parent_state')
|
||||
formdata = models.JSONField('工单表单', default=dict, help_text='工单所有字段内容')
|
||||
in_add_node = models.BooleanField('加签状态中', default=False, help_text='是否处于加签状态下')
|
||||
add_node_man = models.CharField('加签人', max_length=50, default='', blank=True, help_text='加签操作的人,工单当前处理人处理完成后会回到该处理人,当处于加签状态下才有效')
|
||||
|
||||
class TicketFlow(BaseModel):
|
||||
"""
|
||||
工单流转日志
|
||||
"""
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from rest_framework.serializers import ModelSerializer
|
||||
from rest_framework.serializers import ModelSerializer, SerializerMethodField, CharField
|
||||
|
||||
from .models import State, Workflow, Transition, CustomField
|
||||
|
||||
|
@ -13,10 +13,23 @@ class StateSerializer(ModelSerializer):
|
|||
model = State
|
||||
fields = '__all__'
|
||||
|
||||
class StateSimpleSerializer(ModelSerializer):
|
||||
class Meta:
|
||||
model = State
|
||||
fields = ['id', 'name']
|
||||
|
||||
class TransitionSerializer(ModelSerializer):
|
||||
source_state_ = StateSimpleSerializer(source='source_state', read_only=True)
|
||||
destination_state_ = StateSimpleSerializer(source='destination_state', read_only=True)
|
||||
class Meta:
|
||||
model = Transition
|
||||
fields = '__all__'
|
||||
@staticmethod
|
||||
def setup_eager_loading(queryset):
|
||||
""" Perform necessary eager loading of data. """
|
||||
queryset = queryset.select_related('source_state','destination_state')
|
||||
return queryset
|
||||
|
||||
|
||||
class CustomFieldSerializer(ModelSerializer):
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue