[Django] #36041: related_query_name return wrong related_name

8 views
Skip to first unread message

Django

unread,
Dec 28, 2024, 1:03:25 PM12/28/24
to django-...@googlegroups.com
#36041: related_query_name return wrong related_name
-------------------------------------+-------------------------------------
Reporter: mhmk2002 | Type: Bug
Status: new | Component: Database
| layer (models, ORM)
Version: 5.1 | Severity: Normal
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
By default djanog set a related name with this pattern model_name +
"_set".
but in related_query_name in django/db/models/fields/related.py this is
wrong.
Now is this
```
(
self.remote_field.related_query_name
or self.remote_field.related_name
or self.opts.model_name
)
```

```
and most change to this
(
self.remote_field.related_query_name
or self.remote_field.related_name
or f'{self.opts.model_name}_set'
)
```


suppost we have some model like this:
```
class Collection(models.Model):
title = models.CharField(max_length=255)
featured_product = models.ForeignKey('Product',
on_delete=models.SET_NULL, null=True,)


class Product(models.Model):
title = models.CharField(max_length=255)
description = models.TextField
price = models.DecimalField(max_digits=6, decimal_places=2)
inventory = models.IntegerField
last_update = models.DateTimeField(auto_now=True)
collection = models.ForeignKey(Collection, on_delete=models.PROTECT)
```

this related_name is okay but django will get error beacuse this function
is wrong.
--
Ticket URL: <https://code.djangoproject.com/ticket/36041>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Dec 28, 2024, 3:49:52 PM12/28/24
to django-...@googlegroups.com
#36041: related_query_name return wrong related_name
-------------------------------------+-------------------------------------
Reporter: mhmk2002 | Owner: (none)
Type: Bug | Status: closed
Component: Database layer | Version: 5.1
(models, ORM) |
Severity: Normal | Resolution: invalid
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* resolution: => invalid
* status: new => closed

Comment:

`related_query_name` and `related_name` are two distinct concepts. If
you're having trouble understanding how Django works, see
[https://code.djangoproject.com/wiki/TicketClosingReasons/UseSupportChannels
TicketClosingReasons/UseSupportChannels] for ways to get help.
--
Ticket URL: <https://code.djangoproject.com/ticket/36041#comment:1>
Reply all
Reply to author
Forward
0 new messages