here i have secenario like there
when user moved for a done
 is  sub_task_name shld be same  perivos updated task but
new  updation  option shld get sub_task_value tht option shld get user

has same as in task_name shld be previous   updated task but for user shld 
get new value entring option for below columns

category = models.CharField(max_length=500,blank=True, null=True)
escalation1 = models.IntegerField(blank=True, null=True)
escalation2 = models.IntegerField(blank=True, null=True)
escalation3 = models.IntegerField(blank=True, null=True)
timethershold = models.IntegerField(blank=True, null=True)

*models.py*

def KanbanRegularTask_doc_directory_path(instance, filename):
return "regular_task/videos/%s/%s/%s" 
%(instance.task_name,instance.regular_task_id, filename)
class *KanbanTask*(models.Model):
STATUS_LEVEL = ((1, "Done"), (2, "In Progress"), (3, "On hold"), (4, 
"Assigned"))

regular_task_id = models.AutoField(primary_key=True)
task_name = models.CharField(max_length=100)
task_department_name = models.CharField(max_length=50, blank=True, 
null=True)
task_type = models.CharField(max_length=50, blank=True, null=True)
#members = ArrayField(models.CharField(max_length=255), default=[], 
null=True, blank=True)
members = JSONField(blank=True, null=True)
task_description = models.CharField(max_length=200, blank=True, null=True)
task_files = 
models.FileField(upload_to=KanbanRegularTask_doc_directory_path, 
max_length=200,blank=True, null=True)
task_due_date = models.DateField(blank=True, null=True)
cron = models.CharField(max_length=50, blank=True, null=True)
previous_regular_task_id = models.PositiveIntegerField(blank=True, 
null=True)
status = models.IntegerField(choices=STATUS_LEVEL, blank=True)
knowledge_center = models.PositiveIntegerField(blank=True, null=True)
created_at = models.DateTimeField(auto_now=True)
updated_at = models.DateTimeField(blank=True, null=True)
category = models.CharField(max_length=500,blank=True, null=True)
escalation1 = models.IntegerField(blank=True, null=True)
escalation2 = models.IntegerField(blank=True, null=True)
escalation3 = models.IntegerField(blank=True, null=True)
timethershold = models.IntegerField(blank=True, null=True)

def __str__(self):
return self.task_name



def KanbanSubTask_doc_directory_path(instance, filename):
return "subtask/%s/%s/%s" %(instance.sub_task_name,instance.sub_task_id, 
filename)
class *KanbanSubTask*(models.Model):
sub_tasks = models.ForeignKey(KanbanTask, on_delete=models.CASCADE, 
related_name='kanbansub_task_regular', null=True, blank=True)
sub_task_id = models.AutoField(primary_key=True)
regular_task_id = models.PositiveIntegerField(blank=True, null=True)
sub_task_name = models.CharField(max_length=200, blank=True, null=True)
sub_task_value = models.CharField(max_length=200, blank=True, null=True)
sub_task_path = 
models.FileField(upload_to=KanbanSubTask_doc_directory_path, 
max_length=200,blank=True, null=True)
created_at = models.DateTimeField(auto_now=True)
updated_at = models.DateTimeField(blank=True, null=True)
value_threshold = models.FloatField(blank=True, null=True)


serializers.py 

class KanbanTaskSerializer(serializers.ModelSerializer):
class Meta:
model = KanbanTask
fields = '__all__'

class KanbanSubTaskSerializer(serializers.ModelSerializer):
class Meta:
model = KanbanSubTask
fields = '__all__'



views.py file


class KanbanTaskViewSet(viewsets.ModelViewSet):
pagination_class = None
queryset = 
KanbanTask.objects.exclude(Q(status=1)&Q(created_at__lte=now_for_filter.strftime('%Y-%m-%d')))
serializer_class = KanbanTaskSerializer

# def update(self, instance, validated_data):
# instance.category = validated_data.get('category', instance.category)
# instance.escalation1 = validated_data.get('escalation1', 
instance.escalation1)
# instance.escalation2 = validated_data.get('escalation2', 
instance.escalation2)
# return instance
#
# def create(self, validated_data):
# return Snippet.objects.create(**validated_data)

class KanbanSubTaskViewSet(viewsets.ModelViewSet):
pagination_class = None
queryset = KanbanSubTask.objects.all()
serializer_class = KanbanSubTaskSerializer

def partial_update(self, request, *args, **kwargs):
instance = self.get_object()
data = request.data
try:
kst= KanbanSubTask.objects.get(sub_tasks=data["sub_tasks"])
instance.kst = sub_tasks
except KeyError:
pass
instance.sub_task_id= request.data.sub_task_id("sub_task_id")
instance.sub_task_name = request.data.get("sub_task_name")
instance.sub_task_value = validated_data.get("sub_task_value")
instance.value_threshold = validated_data.get("value_threshold")
instance.save()
serializer = KanbanSubTaskSerializer(instance)
serializer.is_valid(raise_exception=True)
return Response(serializer.data)
# self.perform_update(serializer)
# return Response(serializer.data)


i am tried hardly to figure but unfortunately it didnt work out please help 
me to run this secenario 

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/7621c768-6d0c-453d-8e4d-e753d9adef25n%40googlegroups.com.

Reply via email to