Django Как добавить в поле внешнего ключа

Просто используйте.

$('input[name=name_of_your_radiobutton]:checked').val();

Так просто.

0
задан Stephan 20 March 2019 в 04:19
поделиться

1 ответ

Вам не нужен класс 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 метод в форме, но я надеюсь, что это поможет вам начать.

0
ответ дан damores 20 March 2019 в 04:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: