Ich versuche mich schon eine ganze Weile mit dj und stoße an Grenzen, was das Erzeugen und Benutzen einer auf einem Model basierende Tabelle angeht.
Ziel:
Als Benutzer möchte ich einen Tupel (Datensatz bzw. Record) in einer Liste anklicken können und auf Art Update-Seite mit einem Formular geleitet werden.
Was funktioniert:
Die Tabelle wird angezeigt und alle kompletten Datensätze werden gelistet.
Was nicht funktioniert:
Die Datensätze haben keine Funktion, über die ein einzelner Datensatz aufgerufen werden kann, um diesen zu verändern.
Ich weiß nicht so genau, wie ich das anfangen soll und habe im Web nach Beispielen und Problemen gesucht, aber war nicht fündig geworden. An welcher Stelle beginne ich? Mache ich ein ganz speziellen html Template, oder benutze ich sowas wie LinkColumn des django_tables2 packages? Ich habe etwas Code von den Stellen beigefügt, wo meiner Meinung nach der Hase im Pfeffer liegt. Mit den man-pages von django_tables2 konnte ich nicht viel anfangen, weil ich keinen Bezug zu meinem Problem herstellen konnte.
Code: Alles auswählen
url(r'^mainCMS/update/(\d+)/$', mainCMS.views.CreateProjectView.as_view(), name='project-update'),
Code: Alles auswählen
{% extends './assembly.html' %}
{% load render_table from django_tables2 %}
{% block content_in_center %}
<h2>Liste der dbform-Projekte</h2>
<ul>
{% render_table table %}
</ul>
{% endblock %}
Code: Alles auswählen
import django_tables2 as tables
from django_tables2.utils import * # alias for Accessor
from mainCMS.models import DbfProjects
class ProjectTable(tables.Table):
projectid = tables.Column()
link = tables.LinkColumn('project_detail', kwargs={"projectid" : Accessor('project_detail')})
# edit_link = tables.LinkColumn('project-update', args=[A('pk')], verbose_name='edit',)
class Meta:
model = DbfProjects
owners, description, projectName, prefix, fsLocation, ipV4, ipV6, dbUser, dbPassword, dbName, isDeleted, dateOfCreation, lastTimeChanged
Eine Ansicht:
Bislang habe ich jede Menge ausprobiert, bis auf die Sache mit den HTML-Templates. Um aber hier nicht Codemüll zur Verwirrung abzuliefern, habe ich eine gestrippte Version des Codes veröffentlicht. Ich hoffe Ihr könnt mir erklären, was/wann/warum zu coden ist. In verschiedenen Büchern, die ich mir gekauft bzw. geliehen und gelesen habe, wird immer nur sehr flach auf Datenbearbeitungsthemen eingegangen. Vielen Dank!
Viele Grüße,
Semox