1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #35330 -- Fixed the update of related widgets when the referenced model is camel case named.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
This commit is contained in:
devin13cox
2024-04-02 18:00:25 -07:00
committed by GitHub
parent 888b9042b3
commit 8665cf03d7
6 changed files with 86 additions and 1 deletions

View File

@@ -937,6 +937,28 @@ class RelatedFieldWidgetWrapperTests(SimpleTestCase):
# Related item links are present.
self.assertIn("<a ", output)
def test_data_model_ref_when_model_name_is_camel_case(self):
rel = VideoStream._meta.get_field("release_event").remote_field
widget = forms.Select()
wrapper = widgets.RelatedFieldWidgetWrapper(widget, rel, widget_admin_site)
self.assertIs(wrapper.is_hidden, False)
context = wrapper.get_context("release_event", None, {})
self.assertEqual(context["model"], "release event")
self.assertEqual(context["model_name"], "releaseevent")
output = wrapper.render("stream", "value")
expected = """
<div class="related-widget-wrapper" data-model-ref="releaseevent">
<select name="stream">
</select>
<a class="related-widget-wrapper-link add-related" id="add_id_stream"
data-popup="yes" title="Add another release event"
href="/admin_widgets/releaseevent/add/?_to_field=album&amp;_popup=1">
<img src="/static/admin/img/icon-addlink.svg" alt="" width="20" height="20">
</a>
</div>
"""
self.assertHTMLEqual(output, expected)
@override_settings(ROOT_URLCONF="admin_widgets.urls")
class AdminWidgetSeleniumTestCase(AdminSeleniumTestCase):