Django - Modificar m2m por usuario

Buenas,

Creo que no es posible, pero quiero sacarme las dudas y saber si hay alguna otra forma. Tengo una relación M2M y quiero que una modificación sea reflejada solo a quién la realizó. Por ejemplo: los usuarios tiene M2M con noticias, si un usuario eliminó una noticia hay forma de que solo le afecte a el? Es decir, que esa noticia eliminada se le siga mostrando a los demás usuarios y a el no.
La relación tiene que ser si o sí M2M, ya que muchos usuarios acceden a la misma info, el tema es que después alguno quiere eliminar alguna noticia para no verla más.

Saludos!

Resuelto. Agrupe las noticias en categorías, las cuales tienen m2m con los usuarios, y a la vez los usuarios tienen todas las noticias juntas. Remuevo la relación usuario-noticia, y después las categorías muestran sus noticias que estén al mismo tiempo en la relación usuario-noticia.
De esta manera las categorías tienen siempre el total de noticias, y no se elimina nada.

1 me gusta

Se me ocurre que podrías especificar un modelo through a la relación M2M. Y ahí poner algo como un boolean enabled (default True) o deleted (default False) que usas para flagear cuando el user elimina la noticia.
El problema con esto es que, para cada usuario, tenés que asociarlo con TODAS las noticias. Además, con cada Noticia nueva, tenés que asociarla a TODOS los usuarios.

Otra opción que se me ocurre es que tengas una tabla (Modelo) exclusivamente para registrar cuando el user elimina una noticia. Entonces usas esta tabla para filtrar las noticias asociadas a cada usuario. O algo asi…