Python 如何选择将在django表单中的下拉列表中表示的值?
我正在django中创建一个应用程序,我有下一个问题: 我在这里展示了两个相关的模型:Python 如何选择将在django表单中的下拉列表中表示的值?,python,django,forms,filter,model,Python,Django,Forms,Filter,Model,我正在django中创建一个应用程序,我有下一个问题: 我在这里展示了两个相关的模型: class modelA(models.Model): ident = models.AutoField(primary_key=True) id_in_modelB = models.CharField(max_length=128, blank=True) class modelB(models.Model): attr1 = models.ForeignKey(modelA)
class modelA(models.Model):
ident = models.AutoField(primary_key=True)
id_in_modelB = models.CharField(max_length=128, blank=True)
class modelB(models.Model):
attr1 = models.ForeignKey(modelA)
...
在应用程序中,首先选择要使用的modelB对象,然后显示一个表单,以选择要选择的modelB中modelA的哪个对象
我创建了modelB的一种形式,出现了modelA对象的下拉列表,但它在下拉列表中包含了modelA的所有值。我只想显示与先前选择的modelA相关的对象
可能吗
谢谢大家! 不清楚“先前选择的modelA”的确切含义,但可以为表单字段提供查询集。假设
formB
是modelb
的模型形式:
formB.fields['attr1'].queryset = modelA.objects.filter(...)
如果不是模型表单而是标准表单:
formB.attr1.queryset = modelA.objects.filter(...)
如果我想用之前选择的值过滤queryset结果?我可以把一个值作为参数发送给一个模型表单吗?我真的不明白你所说的“先前选择的值”是什么意思。如果这是客户端的,那么您需要使用一些js,可能还需要使用ajax。