2016-04-25 6 views
0

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?

+0

warum Sie nicht direkt ein queryset? und warum ist ein Primärschlüssel explizit definiert? – RA123

Antwort

Verwandte Themen