这是一个非常基本的问题,我已经搜索并尝试了很多方法来做到这一点,但我想知道最好的做法/最好的方法去做。需要在modelchoicefield中获得id而不是选定的值django
有一张表格,我试图从另一张表中存储用户选择的代码。想要的是
模型表单组合框中显示description
字段值,同时将其各自的pos_code
保存在表中。
这是我的模型和形式:
pos_code = forms.ModelChoiceField(queryset=Positions.objects)
在这里,我想插入pos_code
对所选description
用户:
class TmpPlInvoice(models.Model):
voucher_id = models.CharField(primary_key=True, max_length=10)
pos_code = models.ForeignKey(Positions, models.DO_NOTHING, db_column='pos_code', blank=True, null=True)
class Meta:
managed = False
db_table = 'tmp_pl_invoice'
我从这个模型得到的选择领域:
class Positions(models.Model):
pos_code = models.CharField(primary_key=True, max_length=10, blank=True, null=True)
description = models.CharField(max_length=100, blank=True, null=True)
class Meta:
managed = False
db_table = 'positions'
def __unicode__(self):
return self.description
但它给我description
我而不是pos_code
。我知道我正在返回描述,但我需要将其显示给用户并在视图中获取代码。
这里是我的完整形式
class TmpForm(forms.ModelForm):
description = forms.ModelChoiceField(queryset=Positions.objects.all())
class Meta:
model = TmpPlInvoice
exclude = ['net_amt', 'post_date', 'address', 'posted', 'voucher_date', 'particulars']
我有什么 [IMG] http://i68.tinypic.com/zj89yx.jpg[/IMG] 目前的形式输出 { 'voucher_id':u'3452345' , '说明':职位:高级工业化学品}
我不能使用这个'描述'。我需要保存英超工业化学品的代码在我TmpForm
我需要什么 [IMG] http://i66.tinypic.com/nh0x2a.jpg[/IMG]
需要的形式输出 { 'voucher_id':u'3452345' , 'pos_code':0001 }
真的需要你帮助的家伙:(任何建议将尽。 – whatIf
@ e4c5我已经发布我的完整形式。 – whatIf
@ e4c5你的意思是返回obj.pos_code? – whatIf