Tengo un método que funciona, pero parece muy torpe, y creo que hay una mejor manera de hacerlo.Instancia instancia de modelo con manytomany campo en Django
Tengo un modelo que relaciona a un usuario de mi sitio (un clon de twitter para fines de aprendizaje) con una lista de otros usuarios.
Ahora cuando creo un nuevo usuario, quiero inicializar esa lista con el usuario como miembro de la lista.
mi modelo es:
class FollowerList(models.Model)
follower = models.ForeignKey(User,related_name="follower")
followed = models.ManyToManyField(User,related_name="followed"
el código en mi opinión de que estoy usando en este momento es
user = User.objects.get(username=uname)
flst = FollowerList()
flst.follower = user
flst.save()
flst.followed.add(user)
flst.save()
Me parece que hay debería ser un método para la creación de este sin llamar a save() dos veces, pero parece que no puedo encontrarlo en los documentos ni en ningún otro lado.
el problema cuando hago esto es que me sale un error diciendo que el objeto FollowerList debe tener una clave primaria antes de que pueda agregarle las instancias de ManyToManyField. Y la única forma en que puedo ver para obtener eso es crear una instancia primero y guardarlo, luego agregar el otro campo. –
Bueno, FollowerList.objects.create (seguidor = usuario) le dará una clave principal. Hace el salvado. –
¿hay algún enlace a documentos sobre este tema? No puedo encontrar ningún ... – jperelli