On 14/07/2014 9:23 AM, Aeh. ABID wrote:
> i'm bit confused here, shouldn't ovverride delete() instead of save() ?
> and how to retrieve selected items ?
Not really. You don't want to delete anything. You want to break a link.
Making the foreign key field null will do that.
It sounds like you might want a many to many relationship between A and
AB and another one between B and AB.
In that case, you actually delete the link record not the A nor the AB
record.
That makes AB.A_id and AB.B_id redundant. The only fields you need in AB
are field_1 and field_2.
So create a table A_AB and another one B_AB. A_AB needs a foreign key to
A and also a foreign key to AB. In addition, A needs a ManyToManyField
pointing to AB (or AB needs one to A) using the "through" table A_AB. Do
likewise between B and AB.
https://docs.djangoproject.com/en/1.6/ref/models/fields/#manytomanyfield
Mike
>
> On Sunday, July 13, 2014 7:48:05 PM UTC+1, Aeh. ABID wrote:
>
>
>
> I Have a model AB that holds two foreign keys A_id and B_id.
>
> |class AB(models.Model):
> A_id= models.ForeignKey('A')
> B_id= models.ForeignKey('B')
> field_1= models.CharField(max_length=200, blank=True)
> field_2= models.CharField(max_length=200, blank=True)|
>
>
> When editing A or B, AB items are edited inlines, what I want to
> achieve is that when editing let's say B I want to keep the selected
> AB items and set the foreign key B_id to null instead of deleting them.
>
> thanks for any hint
>
>
>
http://stackoverflow.com/q/24726046/288387?sem=2
>
https://groups.google.com/d/msgid/django-users/ec5cb8fa-a29d-4765-8e68-23a11cf6a877%40googlegroups.com
> <
https://groups.google.com/d/msgid/django-users/ec5cb8fa-a29d-4765-8e68-23a11cf6a877%40googlegroups.com?utm_medium=email&utm_source=footer>.