Controle de inserção de relação muitos-para-muitos do Django
Eu tenho os seguintes modelos:
class Item(models.Model):
# fields
# ...
class Collection(models.Model):
items = models.ManyToManyField(Item, related_name="collections")
# other fields
# ...
Agora eu quero duas coisas:
Eu quero controlar se umItem
pode ser adicionado a umCollection
.eu quero oCollection
para atualizar alguns de seus campos se umItem
foi adicionado ou removido.Para o segundo assunto, sei que existe odjango.db.models.signals.m2m_changed
que eu posso usar para ligar em mudanças da relação. É permitido / ok alterar oCollection
dentro do retorno de chamada do sinal? Posso usar o sinal também para "abortar" a inserção do problema 1?