Also zur Zeit ich so etwas wie dieses:Allow Bearbeitung nur die aktuell ausgewählte Fremdschlüssel in Django Admin
Modell:
class ConfirmEmail(models.Model):
report = models.ForeignKey(Report)
owner = models.CharField(max_length = 100)
emails = models.ManyToManyField(Sdm)
Admin:
@admin.register(ConfirmEmail)
class ConfirmEmailAdmin(admin.ModelAdmin):
change_form_template = 'admin/phone/index.html'
readonly_fields = ('owner',)
filter_horizontal = ('emails',)
list_display = ('owner','report')
ich diese Objekte in Code erstellen - Ich habe das Berichtsobjekt festgelegt. Aber was ich in der Django admin
möchte, ist, wenn ich einem Benutzer erlauben könnte, dieses Berichtsobjekt aber nur das eine zu bearbeiten. Sie würden es ändern können (also hoffentlich wäre das Dropdown-Menü nicht mehr da), also wäre das nette Bleistiftsymbol immer noch da, aber Dinge wie das "+" - Symbol wären weg.
Und das soll nicht heißen, dass der Benutzer nicht alle Berichte bearbeiten kann, es ist nur, dass in der ConfirmEmail Admin
sie nur diesen bestimmten Bericht anzeigen können, der daran angehängt ist.
Ich habe schmatzen weg und es scheint nicht zu funktionieren.
Ich würde auch geneigt sein, einfach das aktuelle Berichtsformular in das Formular ConfirmEmail
eingebettet zu haben - aber ich weiß nicht, wie ich das machen würde.
Ich muss JavaScript verwenden, um das + zu entfernen. Es ist nicht so, dass ich nie möchte, dass sie einen Bericht hinzufügen - diese Funktionalität ist immer noch da. Meine Hauptsache ist, dass ich dem Benutzer hoffentlich den gesamten Bericht in der Bestätigungs-E-Mail-Admin-Seite zeigen möchte, damit er ihn dort überprüfen kann. – khancock