这是这个问题的后续问题: How to pass user object to forms in Django个
这是我的表格:
class SellForm(forms.Form):
symbol = forms.ModelChoiceField(queryset=None, widget=forms.Select(attrs={
'class': 'form-control',
'placeholder': 'Symbol',
'autofocus': 'autofocus',
}))
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request')
super(SellForm, self).__init__(*args, **kwargs)
self.fields['symbol'].queryset = Holdings.objects.filter(student=self.request.user.student)
This form is providing me with this dropdown:
我在模型中有额外的信息,那就是每股的买入价,有没有办法把它也放到表格上?它必须是不可编辑的,尽管这是股票购买时的价格.
下面是表单从中获取数据的模型:
class Holdings(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
symbol = models.CharField(max_length=10)
purchase_price = models.DecimalField(max_digits=10, decimal_places=2)
class Meta:
verbose_name_plural = "Holdings"
ordering = ['symbol']
def __str__(self):
return self.symbol
如果可能的话,我将非常感谢您的帮助!谢谢!