2016-09-15 18 views
1

Ich entwickle eine Anwendung in Django. Hier ist meine models.py und views.py Code:Django kann 'Rezept_Anweisung'-Objekt nicht implizit in str konvertieren

#models.py 
class Recipe_instruction(models.Model): 
    content = models.TextField(max_length=500) 
    recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE) 
    order = models.IntegerField(max_length=500) 
    class Meta: 
      app_label='recipe_base' 
    def __str__(self): 
     return self.content 

views.py

#create recipes_dict 
... 
     recipe_instructions = Recipe_instruction.objects.filter(recipe = recipe) 
     recipe_instructions_string = "" 
     for recipe_instruction in recipe_instructions: 
      recipe_instructions_string = recipe_instructions_string + recipe_instruction.content 


... 

Mein Ziel ist es, alle Rezept Anweisungen zu erhalten und stecken sie zusammen in einem einzigen String recipe_instructions_string

Aber

, wenn ich meinen views.py laufen, es gibt mir die folgende Fehlermeldung:

recipe_instructions_string = recipe_instructions_string + recipe_instruction.content 
TypeError: Can't convert 'Recipe_instruction' object to str implicitly 

Kann eine Yone sag mir, was los ist?

Wie recipe_instruction.content ist ein Textfeld, so dass ich es nicht erneut in eine Zeichenfolge als bereits eine Zeichenfolge konvertieren soll.

TRACEBACK:

Traceback (most recent call last): 
    File "/usr/local/lib/python3.4/dist-packages/celery/app/trace.py", line 240, in trace_task 
    R = retval = fun(*args, **kwargs) 
    File "/usr/local/lib/python3.4/dist-packages/celery/app/trace.py", line 438, in __protected_call__ 
    return self.run(*args, **kwargs) 
    File "/root/worker/worker/views.py", line 500, in Task1 
    recipe_instructions_string = recipe_instructions_string + recipe_instruction.content 
TypeError: Can't convert 'Recipe_instruction' object to str implicitly 
+1

Können Sie den exakten StackTrace einfügen? sieht nicht aus wie der Code, den Sie zeigen, wo der Fehler auftritt? – karthikr

+0

TypeError ("Recipe_instruction" -Objekt kann nicht implizit in "str" ​​konvertiert werden), ist die Ausnahme, die ich bekomme. Und ja, ich habe es neu gestartet, nachdem ich Änderungen vorgenommen habe – Elisha512

+0

Rezept_Instruktionen> RezeptInstruktionen – allcaps

Antwort

1

Das Problem ist hier nicht mit dem Code ist .. aber während wir gerade dabei sind, versuchen Sie den gesamten Code ändern zu

instructions = Recipe_instruction.objects.filter(recipe=recipe).values_list('content', 
                      flat=True) 
recipe_instructions_string = "".join(instructions) 

Dies würde Stoppen Sie den Fehler, wenn es hier wäre, und seien Sie effizienter.

Verwandte Themen