Django: как я могу позволить моей modelChoiceField принимать два возможных типа моделей

Мне нужно позволить modelChoiceField иметь возможность принимать два разных объекта моделей. например, может billnum принимать в качестве набора запросов: facture_ventes.objects или facture_depc.objects одновременно, а не только одну модель:

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

Спасибо за помощь


person Elroum    schedule 10.04.2018    source источник
comment
stackoverflow.com/questions/20895429 /   -  person Ramkishore M    schedule 10.04.2018


Ответы (1)


Я предполагаю, что у моделей одинаковые поля. Вы можете изменить свой проект так, чтобы у вас была одна модель и, возможно, дополнительное поле в этой модели, которое различает ventes и depc. Это моя рекомендация.

В противном случае вы можете использовать запрос union. .

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

Даже в этом случае вы должны каким-то образом различать pks facture_ventes и facture_depc. Это слишком сложно. Измените свою модель.

person Bobort    schedule 10.04.2018