Решил проблему так:
Сделал две страницы:
- Страница для приглашенных
url(r'^register/(?P<invite_code>[A-Za-z]+)/$', views.InviteRegisterFormView.as_view(),
name='invite_register'),
- Страница для неприглашенных
url(r'^register/$', views.RegisterFormView.as_view(),
name='register'),
В cbv InviteRegisterFormView наследовался от RegisterFormView. И использовал переменную
invite_code = self.kwargs['invite_code']
invite = get_object_or_404(UserInvite, code=invite_code)
invite.is_accept = True
invite.save()
Теперь на почту может прийти приглос от разных пользователей, сервер определит по чьей ссылке вы зарегистрировались.