Esta es una pregunta de Django bastante simple, pero no encuentro la respuesta en los documentos de Django, ¡a pesar de la gran cantidad de búsquedas!Django: compruebe si ya existe un objeto antes de agregar
¿Cómo puedo comprobar si un objeto ya existe y solo agregarlo si no existe no ya existente?
Aquí está el código: no quiero agregar el follow_role dos veces en la base de datos si ya existe. ¿Cómo reviso primero? Use get() tal vez, pero ¿Django se quejará si get() no devuelve nada?
current_user = request.user
follow_role = UserToUserRole(from_user=current_user, to_user=user, role='follow')
follow_role.save()
¡Gracias!
Brillante. Resuelve el problema. ¡Gracias! ¿Hay una función inversa para verificar si un objeto existe, luego SUPRIMIR si es así, y no hacer nada si no lo hace? – AP257
No sé de una función auxiliar de la parte superior de mi cabeza, pero creo que puede acercarse haciendo UserToUserRole.objects.filter (...). Delete(). Sin embargo, esto no le daría una forma de inspeccionar si el objeto realmente existía. Debería verificar el conteo() en su conjunto de consultas antes de la eliminación. Por supuesto, puede echar un vistazo a la fuente get \ _or \ _create y crear su propia función de ayuda lo suficientemente fácil. –
OK. Gracias de nuevo por la respuesta muy clara! – AP257