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

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

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

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

1 ответ

Решение

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

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

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

Даже тогда, так или иначе, вы должны были бы иметь возможность различать ПК facture_ventes а также facture_depc, Это слишком сложно. Измени свою модель.

Другие вопросы по тегам