1

一般的なリレーションのリンクを解除するには?

Note と Customer のリンクを解除したいだけです。

models.py

class Note(models.Model):
    contents = models.TextField()

    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')


class Customer(models.Model):
    name = models.CharField(max_length=50, unique=True,)
    notes = generic.GenericRelation(Note, null=True)

>>> cs=Customer.objects.get(pk=1)
>>> cs.notes.all()[0].delete()

しかし、cs.notes.all()[0]完全に削除されます。

完全に削除したくありません。リンクを解除したいだけ...

私は何をすべきか?

4

1 に答える 1

0

唯一の「リンク」は、オブジェクトのcontent_typeandがインスタンスを参照するという事実に存在します。したがって、それらを変更すると、リンクがなくなります。object_idNoteCustomer

于 2013-03-08T08:58:01.800 に答える