我有以下型號:Django的 - 顯示BooleanField在一個formset爲一個單選按鈕組
class Profile(models.Model):
verified = models.BooleanField(default=False)
def primary_phone(self):
return self.phone_set.get(primary=True)
class Phone(models.Model):
profile = models.ForeignKey(Profile)
type = models.CharField(choices=PHONE_TYPES, max_length=16)
number = models.CharField(max_length=32)
primary = models.BooleanField(default=False)
def save(self, force_insert=False, force_update=False, using=None):
if self.primary:
# clear the primary attribute of other phones of the related profile
self.profile.phone_set.update(primary=False)
self.save(force_insert, force_update, using)
我使用Phone
中的ModelForm作爲一個formset。我想要做的是在Phone
的每個實例旁邊顯示Phone.primary
作爲單選按鈕。如果我做的主要爲RadioSelect
部件:
class PhoneForm(ModelForm):
primary = forms.BooleanField(widget=forms.RadioSelect(choices=((0, 'False'), (1, 'True'))))
class Meta:
from accounts.models import Phone
model = Phone
fields = ('primary', 'type', 'number',)
它會顯示單選按鈕,他們將分組在一起,旁邊的每個實例。相反,我正在尋找一種方法,只顯示每個實例旁邊的一個單選按鈕(應爲該實例設置primary=True
),並將所有單選按鈕組合在一起,以便只能選擇其中一個。
我也在尋找一個乾淨的方式來做到這一點,我可以手動完成上述大部分 - 在我的腦海中 - 但我很感興趣,看看是否有更好的方法來做到這一點,一個django-風格的方式。
有人有想法嗎?