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 django-users+unsubscr...@googlegroups.com.
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