Por que você não usa a relação Muitos para Muitos entre os modelos Amigo e Usuário e permite selecionar o tipo de relação entre eles por modelo de relação personalizado?
https://docs. djangoproject.com/en/2.2/ref/models/fields/#django.db.models.ManyToManyField.through