Ich erstelle eine Guide-App, in der jedes Handbuch aus 3 Klassen besteht.Drucken verwandtes Objekt verwandtes Objekt Python
Wie kann ich zum Beispiel Druck Unteraufgabe 3 von Schritt 2 in Führung 1
Das ist, was ich bisher in der Schale zu tun.
class Guide(models.Model):
user = models.ForeignKey(User, default=1)
guide_category = models.CharField(max_length=250)
guide_title = models.CharField(max_length=500)
guide_how = models.CharField(max_length=100)
guide_why = models.CharField(max_length=100)
guide_logo = models.FileField()
is_complete = models.BooleanField(default=False)
def __str__(self):
return self.guide_title + ' - ' + self.guide_category + ' - ' + self.guide_how + ' - ' + self.guide_why
class Step(models.Model):
guide = models.ForeignKey(Guide, on_delete=models.CASCADE)
step_title = models.CharField(max_length=250)
is_complete = models.BooleanField(default=False)
def __str__(self):
return self.step_title
class Subtask(models.Model):
step = models.ForeignKey(Step, on_delete=models.CASCADE)
subtask_title = models.CharField(max_length=250)
subtask_description = models.CharField(max_length=250)
subtask_image = models.FileField()
is_complete = models.BooleanField(default=False)
def __str__(self):
return self.subtask_title
Dies ist, was ich in der Shell so weit tun kann.
from appname.models import Guide, Step, Subtask
guide1 = Guide(pk=1)
guide2 = Guide(pk=2)
>>> Guide.objects.all()
[<Guide: Test1 - CR - how1 - why2>, <Guide: test2 - VR - how2 - why2>]
>>> Step.objects.all()
[<Step: 1>, <Step: 2>, <Step: 1>, <Step: 2>]
>>> Subtask.objects.all()
[<Subtask: 1.1.1>, <Subtask: 1.1.2>, <Subtask: 1.2.1>, <Subtask: 1.2.2>, <Subtask: 2.1.1>]
Vielen Dank! :)
guide = Guide.objects.get (1); step = guide.step_set.filter (id = 2); Drucken (step.sub_set.filter (id = 3)) – hadi
Vielen Dank! Aber ich habe eine Art Störung, wenn ich tun: >>> Guide = Guide.objects.get (pk = 1) Traceback (jüngste Aufforderung zuletzt): File "" Linie 1 in File " /Library/Python/2.7/site-packages/django/db/models/manager.py ", Zeile 122, in manager_method Rückgabe getattr (self.get_queryset(), Name) (* args, ** kwargs) Datei" /Library/Python/2.7/site-packages/django/db/models/query.py ", Zeile 387, in get self.model._meta.Objektname DoesNotExist: Führende Suchabfrage existiert nicht. –
9minday
weil Guide mit ID == 1 existiert nicht – hadi