0
我想使用ManyToMany關係。我有以下型號:多對多關係中的無限循環
class Person(models.Model):
name = odels.CharField(max_length=200)
songs = models.ManyToManyField(Songs)
class Songs(models.Model):
name = odels.CharField(max_length=200)
現在,在保存一個Person實例,我想建立一個多一對多的關係:
class Person(models.Model):
def save(self, *args, **kwargs):
song_instance, created = models.Songs.objects.get_or_create(name = some_name)
self.songs.add(song_instance)
super(Person, self).save(*args, **kwargs)
與上面的代碼的問題是,在形式提交的管理面板,收到錯誤
「人」的實例需要一個 多到許多可用於關係之前有一個主鍵值。
但是,如果我切換順序如下:
super(Person, self).save(*args, **kwargs)
self.songs.add(song_instance)
我有一個PK,但我將不得不再次調用爲了增加self.save()
爲歌曲添加到個人實例,那會導致一個無限循環。
那麼我該如何繼續前進並完成這項工作? :)
感謝, 喬爾