问题描述
我有这个简化的模型和表格:
class Books(models.Model):
name = models.CharField(max_length=500)
price = models.DecimalField(max_digits=6,decimal_places=2)
default = models.BooleanField(default=False)
def __str__(self):
return self.name
class BookForm(forms.Form):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
self.fields['Field'] = forms.ModelChoiceField(queryset=None,empty_label=None,widget=forms.RadioSelect)
self.fields['Field'].queryset = Books.objects.all()
self.fields['Field'].initial = Books.objects.filter(default=True).first()
这将产生一个RadioSelect-Form,如下所示:
(x) Book1
( ) Book2
( ) Book3
我的问题是,如何在RadioSelect表单中添加价格,使其可见。 它应该出现在书名之后,最好还是以其他字体出现,这是我在引导程序类(例如“ text-primary”)上设置的(这不是强制性的)
(x) Book1 (10 €)
( ) Book2 (20 €)
( ) Book3 (30 €)
我知道我可以在模型中返回名称和价格,例如
class Books(models.Model):
name = models.CharField(max_length=500)
price = models.DecimalField(max_digits=6,decimal_places=2)
default = models.BooleanField(default=False)
def __str__(self):
return '%s (%s €)' % (self.value,str(self.price))
但是由于其他原因,我无法做到这一点。我只需要返回名字。还有其他方法吗?
我什至阅读了django-crispy-forms,但找不到解决方法。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)