mirror of
https://github.com/django-polymorphic/django-polymorphic.git
synced 2026-03-03 02:31:20 +03:00
Add test for admin exclude fields #209
This commit is contained in:
parent
ec19ef4bbc
commit
808ac44575
|
|
@ -31,7 +31,11 @@ class Model2Admin(PolymorphicParentModelAdmin):
|
|||
|
||||
admin_site.register(Model2B, PolymorphicChildModelAdmin)
|
||||
admin_site.register(Model2C, PolymorphicChildModelAdmin)
|
||||
admin_site.register(Model2D, PolymorphicChildModelAdmin)
|
||||
|
||||
|
||||
@register(Model2D)
|
||||
class Model2DAdmin(PolymorphicChildModelAdmin):
|
||||
exclude = ("field3",)
|
||||
|
||||
|
||||
@register(PlainA)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 4.2 on 2025-12-11 18:22
|
||||
# Generated by Django 4.2 on 2025-12-11 18:43
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
|
@ -13,8 +13,8 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
('contenttypes', '0002_remove_content_type_name'),
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
|
@ -1179,7 +1179,7 @@ class Migration(migrations.Migration):
|
|||
name='Model2C',
|
||||
fields=[
|
||||
('model2b_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='tests.model2b')),
|
||||
('field3', models.CharField(max_length=30)),
|
||||
('field3', models.CharField(blank=True, default='', max_length=30)),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class Model2B(Model2A):
|
|||
|
||||
|
||||
class Model2C(Model2B):
|
||||
field3 = models.CharField(max_length=30)
|
||||
field3 = models.CharField(max_length=30, blank=True, default="")
|
||||
|
||||
|
||||
class Model2D(Model2C):
|
||||
|
|
|
|||
|
|
@ -311,7 +311,7 @@ class PolymorphicFormTests(_GenericAdminFormTest):
|
|||
{
|
||||
"field1": "2D1",
|
||||
"field2": "2D2",
|
||||
"field3": "2D3",
|
||||
# "field3": "2D3", excluded!
|
||||
"field4": "2D4",
|
||||
},
|
||||
),
|
||||
|
|
@ -357,7 +357,7 @@ class PolymorphicFormTests(_GenericAdminFormTest):
|
|||
|
||||
assert Model2D.objects.first().field1 == "2D1"
|
||||
assert Model2D.objects.first().field2 == "2D2"
|
||||
assert Model2D.objects.first().field3 == "2D3"
|
||||
assert Model2D.objects.first().field3 == ""
|
||||
assert Model2D.objects.first().field4 == "2D4"
|
||||
|
||||
|
||||
|
|
@ -397,7 +397,7 @@ class AdminRecentActionsTests(_GenericAdminFormTest):
|
|||
{
|
||||
"field1": "2D1",
|
||||
"field2": "2D2",
|
||||
"field3": "2D3",
|
||||
# "field3": "2D3", excluded!
|
||||
"field4": "2D4",
|
||||
},
|
||||
),
|
||||
|
|
@ -449,14 +449,15 @@ class AdminRecentActionsTests(_GenericAdminFormTest):
|
|||
|
||||
assert values == ["2A1"]
|
||||
elif "model2d" in action_url:
|
||||
# this also tests that exclusion of field3 works
|
||||
inputs = self.page.locator("#model2d_form input[type='text']")
|
||||
count = inputs.count()
|
||||
assert count == 4
|
||||
assert count == 3
|
||||
|
||||
values = []
|
||||
for i in range(count):
|
||||
values.append(inputs.nth(i).input_value())
|
||||
|
||||
assert values == ["2D1", "2D2", "2D3", "2D4"]
|
||||
assert values == ["2D1", "2D2", "2D4"]
|
||||
else:
|
||||
assert False, f"Unexpected change url: {action_url}"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user