Hi all,

I have a simple model whichs acts as custom many-to-many association table 
with additional data.

```
class NetworkLinkAssociation(models.Model):
    """
    We use our own many-to-many association table, because we want to keep
    track which links are added, and which links are deleted/disabled in
    comparison to the parent network.
    """

    network = models.ForeignKey('Network', related_name='links_assoc',
                                on_delete=models.CASCADE)
    link = models.ForeignKey('Link', related_name='networks_assoc',
                             on_delete=models.CASCADE)

    type = enum.EnumField(AssociationType, 
default=AssociationType.UNCHANGED,
                          null=True)

    class Meta:
        unique_together = ('network', 'link')

    @property
    def link_disabled(self):
        return self.type == AssociationType.REMOVED
```

When trying to simply create a new object django raises an error:

```
link_assoc = NetworkLinkAssociation()
link_assoc.link = link
link_assoc.network = network
link_assoc.save()
```

"ValueError: Cannot force an update in save() with no primary key.". 

I'm 100% sure the `link` and `network` objects exist, so what else could 
the problem be? This used to work fine Django 1.9.

Possibly related bug on Github: 
https://github.com/jpwatts/django-positions/issues/49

Thanks in advance,
Lucas

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/a8397f59-203f-40e5-a6b2-ee850f50b83e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to