| | 108 | |
|---|
| | 109 | |
|---|
| | 110 | # If you delete an object with an explicit Generic relation, the related |
|---|
| | 111 | # objects are deleted when the source object is deleted. |
|---|
| | 112 | # Original list of tags: |
|---|
| | 113 | >>> [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()] |
|---|
| | 114 | [('clearish', <ContentType: mineral>, 1), ('fatty', <ContentType: vegetable>, 2), ('hairy', <ContentType: animal>, 1), ('salty', <ContentType: vegetable>, 2), ('shiny', <ContentType: animal>, 2), ('yellow', <ContentType: animal>, 1)] |
|---|
| | 115 | |
|---|
| | 116 | >>> lion.delete() |
|---|
| | 117 | >>> [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()] |
|---|
| | 118 | [('clearish', <ContentType: mineral>, 1), ('fatty', <ContentType: vegetable>, 2), ('salty', <ContentType: vegetable>, 2), ('shiny', <ContentType: animal>, 2)] |
|---|
| | 119 | |
|---|
| | 120 | # If Generic Relation is not explicitly defined, any related objects |
|---|
| | 121 | # remain after deletion of the source object. |
|---|
| | 122 | >>> quartz.delete() |
|---|
| | 123 | >>> [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()] |
|---|
| | 124 | [('clearish', <ContentType: mineral>, 1), ('fatty', <ContentType: vegetable>, 2), ('salty', <ContentType: vegetable>, 2), ('shiny', <ContentType: animal>, 2)] |
|---|
| | 125 | |
|---|
| | 126 | # If you delete a tag, the objects using the tag are unaffected |
|---|
| | 127 | # (other than losing a tag) |
|---|
| | 128 | >>> tag = TaggedItem.objects.get(id=1) |
|---|
| | 129 | >>> tag.delete() |
|---|
| | 130 | >>> bacon.tags.all() |
|---|
| | 131 | [<TaggedItem: salty>] |
|---|
| | 132 | >>> [(t.tag, t.content_type, t.object_id) for t in TaggedItem.objects.all()] |
|---|
| | 133 | [('clearish', <ContentType: mineral>, 1), ('salty', <ContentType: vegetable>, 2), ('shiny', <ContentType: animal>, 2)] |
|---|
| | 134 | |
|---|