我正在尝试使用select
或to_field
参数获取db_column
小部件的字段值,但它们似乎不起作用。
以下是模型:
class Employer(models.Model):
e_name = models.CharField(
max_length = 40,
verbose_name = 'Name')
e_lastname = models.CharField(
max_length = 40,
verbose_name = 'Lastname')
e_position = models.ForeignKey(
to = Position,
db_field = 'p_name', # this is the thing I want to display as a select widget option
verbose_name = 'Position')
相反,我只选择小部件中的模型名称,db_column
引用Employer
模型,但引用Position
。
出了什么问题或我不了解的新功能?
苏丹
答案 0 :(得分:1)
如果您只需要位置可以在html选择小部件中进行选择,那么您可以获得以下内容:
p_names = (p.name for p in Position.objects.all())
但是你如何生成html?如果您使用的是form.Form,则可以使用
POS_CHOICES = [(p.id, p.name) for p in Position.objects.all()]
class EmployerForm(forms.Form):
p_choices = forms.CharField(widget=forms.Select(choices=POS_CHOICES))
并使用html模板进行渲染:
{{form.p_choices}}
查看forms和modelforms。
编辑: 我刚刚看到了django-admin标签。我真的不知道怎么在管理区域做这件事,抱歉。