Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何选择将在django表单中的下拉列表中表示的值?_Python_Django_Forms_Filter_Model - Fatal编程技术网

Python 如何选择将在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)

我正在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)
    ...
在应用程序中,首先选择要使用的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。