Просто используйте.
$('input[name=name_of_your_radiobutton]:checked').val();
Так просто.
Вам не нужен класс Referral
. Ваше поле referred_who
может «указывать» на CustomUser
. Я переименовал его в referred_by
и добавил related_name='referees'
. Это будет означать, что если пользователь A
ссылается на пользователя B
, а пользователь B
ссылается на пользователя C
и D
, то B.referred_by == A
и B.referees == (C, D)
:
class CustomUser(AbstractBaseUser):
referred_by = models.ForeignKey('self', blank=True, null=True, on_delete = models.CASCADE, related_name='referees')
Тогда вы может создать пользовательскую форму для отображения в администраторе, что-то вроде:
from django.contrib import admin
from django import forms
from django.db import models
class CustomUserForm(forms.ModelForm):
class Meta:
model = CustomUser
fields = '__all__'
referees = forms.ModelMultipleChoiceField(queryset=CustomUser.objects.all())
def __init__(self, *args, **kwargs):
super(CustomUserForm, self).__init__(*args, **kwargs)
if self.instance:
self.fields['referees'].initial = self.instance.referees.all()
class CustomUserAdmin(admin.ModelAdmin):
form = CustomUserForm
admin.site.register(CustomUser, CustomUserAdmin)
ПРИМЕЧАНИЕ. Это не сохранит выбранных пользователей в поле referees
, вам нужно будет сделать это, переопределив save
метод в форме, но я надеюсь, что это поможет вам начать.