- title
progress (Im falle des Buches: Kapitel)
status (Current, Completed, On-Hold, Dropped, Planned)
category (Ein "ForeignKey"-Feld auf ein Kategorie (Category) Model)
tags (Ein "ManyToManyField" auf ein Tag Model)
synopsis
rating (Eine Bewertung die der Benutzer für den ganzen Eintrag festlegen kann)
alternative_titles (Alternative Titel des Buches (Englisch, Deutsch, ...) die bei der Suche helfen)
notes (Ein einfaches "TextField" das dem Benutzer erlaubt zusätzlich Notizen zu dem Eintrag zu machen)
Jetzt kommt es zu einer Besonderheit: Neben der bisher definierten Modellen (Tag, Category, Entry) gibt es noch ein zusätzliches Model: Progress. Eine neue Instanz dieses Progress Model kann optional vom Benutzer erstellt sobald man, im Falle des Buches, ein neues Kapitel anfängt und das vorherige abschließt - wenn das der Fall ist kann eine Bewertung für das neue Kapitel abgeben sowie einen Kommentar. Dementsprechend gibt es folgende Felder:
- entry (Ein "ForeignKey"-Feld auf ein "Entry" Model)
count (Die aktuelle Inkrementierung des Progresses)
rating
comment
Zusätzlich hatte ich vor die komplette Administration für den eigentlichen Benutzer mittels "Forms" selber zu realisieren anstatt dafür das Django-Admin Interface zu benutzen - das lässt mir viel mehr und vor allen Dingen einfacher Spielraum für die "Forms" und ein bisschen jQuery und zusätzliches Styling. (Ich weiß das es auch über Umwege möglich ist das Admin-Interface an zu passen.) Ganz abgesehen davon wird nur eine lokale Instanz der Django Applikation entweder mit CherryPy oder dem built-in Development Server laufen.
Die "models.py" findet ihr hier: http://paste.pocoo.org/show/165002/ bzw. hier: http://dpaste.com/hold/144634/
Meine eigentliche Frage: Seht ihr irgendwelche schwerwiegenden organisatorischen und/oder denk - Fehler? Wie würdet ihr das mit dem Progress-Model am besten bewerkstelligen? (Meine Lösung kommt mir immer noch etwas "schief" vor).
PS: Kennt ihr ein paar wirklich empfehlenswerte Web-Templates (-Sites) die sich für mein und eventuell auch andere Projekte gut eignen würden?