#34090: ordering of ManyToManyField in admin shows objects multiple times
-------------------------------------+-------------------------------------
Reporter: spechtx | Owner: nobody
Type: | Status: new
Cleanup/optimization |
Component: contrib.admin | Version: 4.1
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by spechtx:
Old description:
> I might came across a possible optimization in the admin:
>
> When there is a model with a ManyToManyField and you set this field in
> the "ordering" setup in the admin setup, the object will we shown as many
> times in the admin, as there are relations stored in the m2m field.
>
> In this example, when the "type" field has 5 relations, the object will
> be shown 5 times in the admin.
>
> models.py:
>
> class RelatedM2M(models.Model):
> choice = models.CharField(max_length=255, unique=True)
> description = models.TextField(blank=True)
>
> class ModelName(models.Model):
> id_uuid = models.UUIDField(...)
> timestamp_created = models.DateTimeField(auto_now_add=True)
> name = models.CharField(max_length=255)
> type = models.ManyToManyField(RelatedM2M, related_name='type')
> type_intermediate = models.ManyToManyField(AnotherRelatedM2M,
> through='RelatedIntermediate')
> geometry = models.GeometryField(...)
>
> admin.py:
>
> @admin.register(ModelName)
> classModelNameAdminView(admin.GISModelAdmin):
> inlines = (RelatedIntermediateInline,)
> autocomplete_fields = ['....']
> ordering = ['name', 'type', 'timestamp_created', ]
New description:
I might came across a possible optimization in the admin:
When there is a model with a ManyToManyField and you set this field in the
"ordering" setup in the admin setup, the object will we shown as many
times in the admin, as there are relations stored in the m2m field.
In this example, when the "type" field has 5 relations, the object will be
shown 5 times in the admin.
models.py:
class RelatedM2M(models.Model):
choice = models.CharField(max_length=255, unique=True)
description = models.TextField(blank=True)
class ModelName(models.Model):
id_uuid = models.UUIDField(...)
timestamp_created = models.DateTimeField(auto_now_add=True)
name = models.CharField(max_length=255)
type = models.ManyToManyField(RelatedM2M, related_name='type')
type_intermediate = models.ManyToManyField(AnotherRelatedM2M,
through='RelatedIntermediate')
geometry = models.GeometryField(...)
admin.py:
@admin.register(ModelName)
classModelNameAdminView(admin.GISModelAdmin):
inlines = (RelatedIntermediateInline,)
autocomplete_fields = ['....']
ordering = ['name', 'type', 'timestamp_created', ]
--
--
Ticket URL: <https://code.djangoproject.com/ticket/34090#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070183d04ec624-3cb4d079-f5ba-498a-9a75-bc3ac3594f38-000000%40eu-central-1.amazonses.com.