Sie fragen sich nur, ob es eine einfache Möglichkeit gibt, die Funktionalität zum Duplizieren eines vorhandenen Eintrags in der Administrationsoberfläche hinzuzufügen?
Bei der Dateneingabe sind wir auf eine Situation gestoßen, in der viele Elemente generische Daten mit einem anderen Element teilen. Um Zeit zu sparen, wäre es sehr schön, eine vorhandene Liste schnell zu duplizieren und nur die geänderten Daten zu ändern. Die Verwendung einer besseren Modellstruktur wäre eine Möglichkeit, die Duplizierung der Daten zu verringern. Es kann jedoch vorkommen, dass die duplizierten Daten in Zukunft individuell geändert werden müssen.
admin.site.register(Person, PersonAdmin)
(wenn PersonAdmin Ihre abgeleitete Klasse ist) verwenden müssen, anstattadmin.site.register(Person)
Hier gibt es eine bessere (aber nicht integrierte) Lösung:
https://github.com/RealGeeks/django-modelclone
Aus ihrer README:
quelle
Sie können diese Methode auch anwenden: https://stackoverflow.com/a/4054256/7995920
In meinem Fall funktioniert diese Aktion mit einer eindeutigen Einschränkung im Feld "Name" und kann in jeder Form angefordert werden:
def duplicate_jorn(modeladmin, request, queryset): post_url = request.META['HTTP_REFERER'] for object in queryset: object.id = None object.name = object.name+'-b' object.save() return HttpResponseRedirect(post_url)
quelle