So habe ich Zugriff auf dieses Modell aus meiner Sicht. Von hier aus kann ich auch auf den Champion zugreifen, der ein lolChamp ist. Jetzt hat lolChamp diese infoID, die sein Primärschlüssel ist. Dieses Feld ist ein Fremdschlüssel für eine Reihe anderer Tabellen, die Informationen enthalten, die ich gerne hätte. Aber ich kann die Informationen nicht erfassen. Ich habe es schon in meinem html probiert. Ich habe die Idee vom Django Tutorial für Umfragen bekommen.Wie sammle ich Objekte im Zusammenhang mit diesem Primärschlüssel
{% for spell champBuild.spellSet_set.all %}
<h1> {{spell.spell_name}} </h1>
{% endfor %}
^das nichts
class champBuild(models.Model):
champion = models.ForeignKey(lolChamp, default="-1")
build_name = models.CharField(max_length=200, primary_key=True, default=time.time())
build_date = models.DateTimeField('date created')
items = models.ForeignKey(lolItem, default=0)
items2 = models.ForeignKey(lolItem, default=0, related_name='item2')
items3 = models.ForeignKey(lolItem, default=0, related_name='item3')
items4 = models.ForeignKey(lolItem, default=0, related_name='item4')
items5 = models.ForeignKey(lolItem, default=0, related_name='item5')
items6 = models.ForeignKey(lolItem, default=0, related_name='item6')
class lolChamp(models.Model):
champ_name = models.CharField(max_length=50, unique=True)
champ_title = models.CharField(max_length=50, unique=True)
full_img = models.CharField(max_length=50)
sprite = models.CharField(max_length=50)
x = models.IntegerField()
y = models.IntegerField()
w = models.IntegerField()
h = models.IntegerField()
tags = models.TextField()
infoID = models.IntegerField(primary_key=True)
def __str__(self):
return self.champ_name
class spellSet(models.Model):
champid = models.ForeignKey(lolChamp, on_delete=models.CASCADE, default=0)
spell_name = models.CharField(max_length=100, primary_key=True)
full_img = models.CharField(max_length=100)
def __str__(self):
return self.spell_name
tut Und das ist in meinem views.py
from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from .models import champBuild
from lolBuilds.models import lolItem, skinSet
from .forms import champBuildForm, champBuildUpdateForm
# Create your views here.
class DetailView(generic.DetailView):
model = champBuild
template_name = 'lolBuilds/detail.html'
Wie kann ich eine Reihe von Zaubern bekommen, die alle Fremdschlüssel müssen lolChamp?
warum Sie nicht direkt ein queryset? und warum ist ein Primärschlüssel explizit definiert? – RA123