2009-06-23 6 views
0

Ich habe eine Anwendung für Mitgliederprofile, die einfache Informationen über Mitglieder eines Teams speichert. Teil des Profils ist ein Bild, das als Avatar verwendet wird. Ich habe Photologue verwendet, um Standardgalerien von Fotos zu erstellen, aber es verfügt über eine ImageModel, die erweitert werden kann, um die Größenänderungs- und Zwischenspeicherungsfunktion von Photologue zu nutzen.Wie kann ein Django ImageField das Bild in einem anderen Modell speichern?

Das Problem ist, das Beispiel, das sie auf ihrer Seite geben wie folgt aussieht:

from django.contrib.auth.models import User 
from photologue.models import ImageModel 

class UserPortrait(ImageModel): 
    user = models.OneToOneField(User, primary_key=True) 

I User mit dem Mitglied ersetzen könnte und alle wären gut, mit Ausnahme der Tatsache, dass das Profils der Bearbeitung wird ein zweistufiger verarbeiten; Zuerst müsste ich ein Mitgliedsprofil erstellen, dann ein UserPortrait erstellen und es dem Mitglied zuordnen. Ich würde das gerne in einen einzigen Schritt zurückführen, als würde ich ein ImageField verwenden.

Ich habe Bildfelder auf der Formularebene und der admin.py Ebene überschrieben, aber ich frage mich, ob ich damit auf der Modellebene oder sogar der Feldebene umgehen kann. Ich hätte gern die Inline-Funktionalität eines ImageFields, aber die Datei wird immer noch von einem separaten, verwandten Modell verwaltet. Tatsächliche Modell-Inline-Elemente erscheinen nach einem einzigen Bild als Overkill.

Antwort

1

Ihre Member-Klasse sollte ImageModel erweitern. Es ist keine zusätzliche Klasse erforderlich (z. B. UserPortrait).

+0

Ich nehme an, das Beispiel ist, wie Sie es für Benutzer tun müssten, da die Benutzerklasse nicht erweitert werden kann. – Soviut

+0

Ich entschied mich für die Inline-Route, da ich dachte, dass ich irgendwann mehr als ein Bild mit einem Profil verknüpfen möchte. – Soviut

Verwandte Themen