Ich brauche Hilfe herauszufinden, wie ich meine HTML-Tabelle in einer Weise einrichten, die mir Probleme gibt, wenn jemand mir helfen kann herauszufinden, wie man es beheben und es wie die zweite aussehen Bild wäre toll.Daten nicht korrekt in meiner Vorlage für Django
* Exkurs Ich verwende Django
Also zuerst aus Ich habe drei Modelle, die ich in dieser Ansicht/Vorlage verwenden werden. Sie heißen "Sheet", "Dimension", "Inspeciton_vals", "mein Dimensionsmodell" hat einen "short_id" -Fehlentool, der mit "sheet_id" verknüpft ist. Mein Inspeciton_vals-Modell hat einen Fremdschlüssel, der mit "Dimension" verknüpft ist.
Hier mein views.py ist
@login_required
def shipping(request, id):
sheet_data = Sheet.objects.get(pk=id)
work_order = sheet_data.work_order
customer_data = Customer.objects.get(id=sheet_data.customer_id)
customer_name = customer_data.customer_name
title_head = 'Shipping-%s' % sheet_data.work_order
complete_data = Sheet.objects.raw("""select s.id, s.work_order, d.target, i.reading, d.description, i.serial_number from app_sheet s left join app_dimension d on s.id = d.sheet_id
left join app_inspection_vals i on d.id = i.dimension_id""")
for c_d in complete_data:
dim_description = Dimension.objects.filter(sheet_id=c_d.id).values_list('description', flat=True).distinct()
dim_id = Dimension.objects.filter(sheet_id=c_d.id)[:1]
for d_i in dim_id:
dim_data = Inspection_vals.objects.filter(dimension_id=d_i.id)
sample_size = dim_data
return render(request, 'app/shipping.html',
{
'work_order': work_order,
'sample_size': sample_size,
'customer_name': customer_name,
'title': title_head,
'complete_data': complete_data,
'dim_description': dim_description,
})
hier sind meine Modelle
class Sheet(models.Model):
objects = SheetManager()
create_date = models.DateField()
updated_date = models.DateField()
customer_name = models.CharField(max_length=255)
part_number = models.CharField(max_length=255)
part_revision = models.CharField(max_length=255)
work_order = models.CharField(max_length=255)
purchase_order = models.CharField(max_length=255)
sample_size = models.IntegerField()
sample_scheme = models.CharField(max_length=255)
overide_scheme = models.IntegerField()
template = models.IntegerField()
sample_schem_percent = models.IntegerField()
critical_dimensions = models.IntegerField()
closed = models.IntegerField()
serial_index = models.CharField(max_length=255)
drawing_number = models.CharField(max_length=255)
drawing_revision = models.CharField(max_length=255)
heat_number = models.CharField(max_length=255)
note = models.CharField(max_length=255)
valc = models.CharField(max_length=255)
class Dimension(models.Model):
description = models.CharField(max_length=255)
style = models.CharField(max_length=255)
created_at = models.DateField()
updated_at = models.DateField()
target = models.IntegerField()
upper_limit = models.IntegerField()
lower_limit = models.IntegerField()
inspection_tool = models.CharField(max_length=255)
critical = models.IntegerField()
units = models.CharField(max_length=255)
metric = models.CharField(max_length=255)
target_strings = models.CharField(max_length=255)
ref_dim_id = models.IntegerField()
nested_number = models.IntegerField()
met_upper = models.IntegerField()
met_lower = models.IntegerField()
valc = models.CharField(max_length=255)
sheet = models.ForeignKey(Sheet, on_delete=models.CASCADE, default=DEFAULT_FOREIGN_KEY)
class Inspection_vals(models.Model):
created_at = models.DateField()
updated_at = models.DateField()
reading = models.IntegerField(null=True)
reading2 = models.IntegerField(null=True)
reading3 = models.IntegerField(null=True)
reading4 = models.IntegerField(null=True)
state = models.CharField(max_length=255)
state2 = models.CharField(max_length=255)
state3 = models.CharField(max_length=255)
state4 = models.CharField(max_length=255)
approved_by = models.CharField(max_length=255)
approved_at = models.DateField(null=True, blank=True)
dimension = models.ForeignKey(Dimension, on_delete=models.CASCADE, default=DEFAULT_FOREIGN_KEY)
serial_number = models.IntegerField(default=1)
Schließlich hier ist meine Vorlage Was ich tun möchte, ist mein Kopf die Seriennummern sein. Dies basiert auf sample_size auf meinem Sheet-Modell. Nehmen wir an, ich habe 24 Sample-Größe und zeige 20 horizontale Zeilen. Als nächstes habe ich meine Dimensionsbeschreibung auf der rechten Seite jetzt mit der sample_size, die 24 ist. Ich werde 2 Dimensionen haben, die mit meinem Blattmodell verbunden sind, das wird jedes Mal auch ändern. Schließlich möchte ich den Messwert in den Rest der Tabelle für jedes Inspection_val und Dimension einfügen. Wenn ich also 2 Dimensionen mit einer sample_size von 24 habe, sollte ich 48 Inspeciton_vals haben, mit denen ich die korrekte Ablesung für die entsprechende Dimension und Serial verwenden möchte Nummer. Hier ist, was ich habe so far--
<div class="container">
<div class="row">
<div>
<table >
<thead>
<tr>
<th>Serial Number</th>
{% for ss in sample_size %}
<th>{{ ss.serial_number }}</th>
{% endfor %}
</tr>
<tr>
{% for r_c in complete_data %}
<th> {{ r_c.reading }} </th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for desc in dim_description.all %}
<tr>
<th> {{ desc }}</th>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
sieht hier, was ich es möchte aussehen
Bonus hier ist, wie meine Daten aussehen
Fix nach der Antwort des Vorschläge anzeigt es immer noch nicht, wie ich es .. mögen würde
<div class="container">
<div class="row">
<div>
<table >
<thead>
<tr>
<th>Serial Number</th>
{% for ss in sample_size %}
<th>{{ ss.serial_number }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for desc in dim_description.all %}
<tr>
<td> {{ desc }}</td>
</tr>
{% for r_c in complete_data %}
<td> {{ r_c.reading }} </td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
Bild von dem, was es jetzt aussieht
Aktualisiert Code mit @ Michael Platt Vorschlag
@Michael Platt half, das HTML-Problem zu beheben, jetzt möchte ich ab sein Um die Lesung in zwei Hälften zu teilen, wird 24 auf die innere Od-Reihe und die nächsten 24 auf die äußere Od-Reihe gehen.
einfach machen wollen, dass ich das verstehen richtig, bevor ich versuche zu helfen. Der Kopf des Tisches ist ok richtig? Was Sie jetzt sehen wollen, ist in der ersten Reihe "Inner OD 3" in der ersten Spalte, dann alle nachfolgenden Daten in ihren jeweiligen Spalten richtig? –
Das ist @ Michael Platt korrekt, wenn die Lesedaten mit der Beschreibung in meinem Dimensionsmodell übereinstimmen. – Snowman08