2013-10-08 2 views
0

이 하나의 중복 될 수있다 Copy data to and from the same table and change the value of copied data in one column to a specified value데이터 복사

나는의 데이터를 복사 할

class Task(models.Model): 

    description = models.CharField(max_length=128) 
    owner = models.ForeignKey(User) 
    category = models.ForeignKey(Category) 

이 작업을 수행하는 장고 방법은 무엇입니까 : 주어진 모델에서 owner coloumn을 변경하여 같은 테이블에서 하나의 테이블 및 붙여 넣기?

답변

1

pk 필드를 재설정하고 해당 필드를 업데이트 한 다음 개체를 저장할 수 있습니다.

task = Task.objects.get(id=1) 
task.pk = None 
task.owner = new_owner 
task.save() 

#task will create new object/row in the table 
+0

동일한 데이터가 업데이트되지 않습니까? 내가 원하는 것은 : 'a = Task.objects.filter (user = 1)'# 관리자가 만든 데이터를 얻는다. 'a '의 모든 데이터를 복사하고'user = request.user.id'를 업데이트한다. – pynovice

+0

@ user2032220 , 당신은 껍질에 그것을 시도 했습니까? '.pk'가'None'으로 설정되어 있으므로 새로운 행을 만들지 않습니다. – Rohan

+0

예, 매력처럼 작동합니다. 타스크 인스턴스의'pk'를'None'으로 지정했습니다. 코드를 설명해 주시겠습니까? +1 이미 있습니다. – pynovice