Django:我怎样才能让我的modelChoiceField采用两种可能的模型

时间:2018-04-10 14:45:57

标签: django forms django-models modelchoicefield

我需要让modelChoiceField具有获取两个不同模型对象的可能性。 例如billnum可以同时作为查询集:facture_ventes.objectsfacture_depc.objects,而不只是一个模型:

billnum=forms.ModelChoiceField(queryset=facture_ventes.objects)

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我假设模型具有相同的字段。您可能希望重新设计项目,以便在该模型上有一个模型,可能还有一个额外的字段,用于区分ventesdepc。这是我的建议。

否则,您可以使用union查询。

billnum = forms.ModelChoiceField(
    queryset=facture_ventes.objects.union(facture_depc.objects.all())
)

即使这样,你也必须能够区分facture_ventesfacture_depc的pks。它太复杂了。改变你的模特。