2016-01-26 13 views
8

Ich habe die folgende Beziehung:Wie lösche ich ein ForeignKey-Set?

class Job(models.Model): 
    .... 
class Task(models.Model): 
    job = models.ForeignKey(Job) 
    .... 

Nun, ich habe ein Job Objekt mit Task Objekte an sie gebunden, und ich möchte alle Aufgaben des Job löschen.

Aus der Dokumentation habe ich verstanden, dass ich nur

können
Job.objects.get(pk=25).task_set.delete() 

Aber aus irgendeinem Grund, meine task_set Objekt hat keine delete() Funktion:

*** AttributeError: 'RelatedManager' object has no attribute 'delete'

Irgendwelche Ideen?

+0

Welche Fehler erhalten Sie? – Sayse

+0

@Sayse *** AttributeError: 'RelatedManager'-Objekt hat kein Attribut' delete ' – iTayb

Antwort

15

Vielleicht tun Job.objects.get(pk=25).task_set.all().delete()

-2

Das Verfahren ist .clear(). Siehe the related objects documentation.

+3

'clear()' disassoziiert nur die Verbindungen, nicht wirklich löschen, oder? – iTayb

+0

+ um mich wissen zu lassen, dass diese Funktion existiert – Paullo