﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
13227	Query cloning fails with models having Lock as instance member	Claude Paroz	nobody	"Here is a basic test case:
{{{
import threading
from django.db import models

class BaseObject(models.Model):
    status      = models.CharField(max_length=10)
    foreign     = models.ForeignKey('MyModel')

class MyModel(models.Model):
    name = models.CharField(max_length=10)

    def __init__(self, *args, **kwargs):
        super(MyModel, self).__init__(*args, **kwargs)
        self.checkout_lock = threading.Lock()
}}}
Now as soon as a query with MyModel instance has to be cloned, this fails.
{{{
from testapp.models import MyModel, BaseObject
mm = MyModel(name='Test1')
mm.save()
bo = BaseObject(status='a',foreign=mm)
bo.save()

print BaseObject.objects.filter(foreign=mm).order_by('foreign__name')
(full traceback here)
Error: un(deep)copyable object of type <type 'thread.lock'>
}}}
"		closed	Database layer (models, ORM)	dev		fixed			Accepted	0	0	0	0	0	0
