Hello.
I just wanted to know, whether I run into a bug, and whether I should 
report it.

Normally select_for_update and select_related try to lock all affected rows 
in all tables. One can specify "of" for select_for_update to limit tables 
to lock (to prevent locking nullable relations).

Recently a bug was fixed, which allowed to lock parent nodes with 
multitable inheritance. But what about proxies? For me the following does 
not work. Should it?

class Parent(Model):
  foreign = ForeignKey(Foreign, null=True, blank=True)

class Child(Parent):
  class Meta:
    proxy = True

class Foreign(Model):
  pass

with transaction.atomic():
  
Child.objects.select_for_update(of=('self',)).select_related('foreign').get(pk=1)

So the (pseudo) code above fails with a message "FOR UPDATE cannot be 
applied to the nullable side of an outer join"

So is this expected behaviour or a bug? What are possible workarounds for 
that?

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/b19cde81-9fb2-4226-bd24-74509b894e79n%40googlegroups.com.

Reply via email to