Opened 8 years ago
Last modified 8 years ago
#28787 closed Bug
MySQL Update fails — at Initial Version
| Reported by: | Paulo | Owned by: | nobody | 
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 1.11 | 
| Severity: | Normal | Keywords: | |
| Cc: | Mariusz Felisiak | Triage Stage: | Accepted | 
| Has patch: | no | Needs documentation: | no | 
| Needs tests: | no | Patch needs improvement: | no | 
| Easy pickings: | no | UI/UX: | no | 
Description
Given the models below:
class House(models.Model):
    name = models.CharField(max_length=200)
class Room(models.Model):
    name = models.CharField(max_length=200)
    house = models.ForeignKey(House, on_delete=models.CASCADE)
The following query fails:
houses_with_suites = House.objects.filter(room__name__icontains='suite') Room.objects.filter(house__in=houses_with_suites).update(name='suite')
With this error:
OperationalError: (1093, "You can't specify target table 'mysql_test_room' for update in FROM clause")
I think this has been around for a while (https://code.djangoproject.com/ticket/20300).
  Note:
 See   TracTickets
 for help on using tickets.