mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #25354 -- Added class/app_label interpolation for related_query_name.
This commit is contained in:
@@ -56,7 +56,12 @@ class Post(models.Model):
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Attachment(models.Model):
|
||||
post = models.ForeignKey(Post, models.CASCADE, related_name='attached_%(class)s_set')
|
||||
post = models.ForeignKey(
|
||||
Post,
|
||||
models.CASCADE,
|
||||
related_name='attached_%(class)s_set',
|
||||
related_query_name='attached_%(app_label)s_%(class)ss',
|
||||
)
|
||||
content = models.TextField()
|
||||
|
||||
class Meta:
|
||||
|
||||
@@ -72,6 +72,15 @@ class ModelInheritanceTests(TestCase):
|
||||
AttributeError, getattr, post, "attached_%(class)s_set"
|
||||
)
|
||||
|
||||
def test_model_with_distinct_related_query_name(self):
|
||||
self.assertQuerysetEqual(Post.objects.filter(attached_model_inheritance_comments__is_spam=True), [])
|
||||
|
||||
# The Post model doesn't have a related query accessor based on
|
||||
# related_name (attached_comment_set).
|
||||
msg = "Cannot resolve keyword 'attached_comment_set' into field."
|
||||
with self.assertRaisesMessage(FieldError, msg):
|
||||
Post.objects.filter(attached_comment_set__is_spam=True)
|
||||
|
||||
def test_meta_fields_and_ordering(self):
|
||||
# Make sure Restaurant and ItalianRestaurant have the right fields in
|
||||
# the right order.
|
||||
|
||||
Reference in New Issue
Block a user